SASS创建函数来执行最大和最小边距

SASS创建函数来执行最大和最小边距,sass,Sass,我找不到解决此问题的方法:我需要在SASS中设置一个最大值介于2个值之间的边距,一个是calc(),另一个是常规px值。应该是这样的: $calculation: calc(15vw + 10px); .cssClass { margin-right: max($calculation, 100px); } 有没有关于如何创建SCSS函数的想法,或者如何使其工作的方法?提前谢谢你 Sassmax()函数不能处理具有不同单位的值 也就是说,您可以使用CSS功能,方法是使用您自己的: /

我找不到解决此问题的方法:我需要在SASS中设置一个最大值介于2个值之间的边距,一个是
calc()
,另一个是常规px值。应该是这样的:

$calculation: calc(15vw + 10px);

.cssClass {
    margin-right: max($calculation, 100px);
}
有没有关于如何创建SCSS函数的想法,或者如何使其工作的方法?提前谢谢你

Sass
max()
函数不能处理具有不同单位的值

也就是说,您可以使用CSS功能,方法是使用您自己的:

// Override Sass function
@function max($numbers...) {
  @return m#{a}x(#{$numbers});
}

$calculation: calc(15vw + 10px);

.cssClass {
  margin-right: max($calculation, 100px);
}
…上面的SCS编译为此CSS:

.cssClass {
  margin-right: max(calc(15vw + 10px), 100px);
}
值得赞扬的是,他指出了这一解决办法。必须创建自定义函数是一个不幸的Sass编译器怪癖,尽管它显然已经在Dart Sass中修复。

Sass
max()
函数不适用于具有不同单位的值

也就是说,您可以使用CSS功能,方法是使用您自己的:

// Override Sass function
@function max($numbers...) {
  @return m#{a}x(#{$numbers});
}

$calculation: calc(15vw + 10px);

.cssClass {
  margin-right: max($calculation, 100px);
}
…上面的SCS编译为此CSS:

.cssClass {
  margin-right: max(calc(15vw + 10px), 100px);
}

值得赞扬的是,他指出了这一解决办法。必须创建自定义函数是一个不幸的Sass编译器怪癖,虽然Dart Sass中显然已经对其进行了修复。

您的问题可能重复的地方应该在重复的帖子中回答。抱歉,这与bc不同,我需要的是页边空白而不是宽度,因此我不能使用
min margin
,因为这不存在。您问题可能重复的地方应该在重复的帖子中回答抱歉,这和bc不一样,我需要的是边距而不是宽度,所以我不能使用
minmargin
,因为它不存在。