提问人:KAVA 提问时间:7/25/2022 更新时间:7/21/2023 访问量:785
如何在 SCSS 中使用带有字符串值的 math.sqrt
How to use math.sqrt in SCSS with string value
问:
我使用 SCSS 并有 2 个功能:
@function get-size-in-units($size, $unit: px) {
@return #{$size}#{$unit};
}
@function get-container-size($side) {
@return math.ceil(math.sqrt(2 * math.pow($side, 2)));
}
现在我这样使用它:
get-size-in-units(get-container-size(40));
现在我需要该函数使用字符串值。我的意思是我想用 等来称呼它,而不是用get-container-size
'40px'
'40rem'
40
我该怎么做?
答:
4赞
Kunal Tanwar
7/27/2022
#1
首先,您需要从中剥离,创建一个 .units
$side
@function
@use 'sass:math';
@function stripUnit($number) {
@return math.div($number, ($number * 0 + 1));
}
功劳归于Kitty Giraudel和Miriam Suzanne。stripUnit
现在使用 返回的value
@function
@function get-container-size($side) {
@return math.ceil(math.sqrt(2 * math.pow(stripUnit($side), 2)));
}
完整代码
@use 'sass:math';
@function stripUnit($number) {
@return math.div($number, ($number * 0 + 1));
}
@function get-container-size($side) {
@return math.ceil(math.sqrt(2 * math.pow(stripUnit($side), 2)));
}
@function get-size-in-units($size, $unit: px) {
@return #{$size}#{$unit};
}
然后你可以像这样使用它:
.container {
width: get-size-in-units(get-container-size(40px));
}
评论