作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在旧版本的 SASS 中,可以将颜色值乘以一个常规数字:
$white: #E2E2E2;
color: $white * 0.7; /* results in #9E9E9E */
我正在处理在灰色上广泛使用它的代码。由于这种语法现在被认为已弃用,我需要找到一种产生相同结果的替代方法。
有一个recommendation使用scale-color
:
color: scale-color($white, $lightness: -30%);
即使它产生相同的结果并且可以很容易地计算出新值(因子 - 1)它不会对大于 1 的因子同样有效:
$black: #050505;
color: $black * 2; /* results in #A0A0A0 */
color: scale-color($black, $lightness: 100%); /* results in pure white */
是否有更好和统一的方法来将其更新为新的符合标准的语法?
最佳答案
当您使用算术函数并希望获得完全相同的结果时:
@function colorArithmetic($color, $scale: 1, $offset: 0) {
$red: (red($color) * $scale) + $offset;
$green: (green($color) * $scale) + $offset;
$blue: (blue($color) * $scale) + $offset;
@return rgb($red, $green, $blue)
}
例如你可以替换这个:
$red: $globalRed * $scale;
$blue: $globalBlue * $scale;
$green: $globalGreen * $scale;
$yellow: $globalYellow * $scale;
到此代码:
$red: colorArithmetic($globalRed, $scale);
$blue: colorArithmetic($globalBlue, $scale);
$green: colorArithmetic($globalGreen, $scale);
$yellow: colorArithmetic($globalYellow, $scale);
关于sass - 更新已弃用的 SASS 颜色乘法语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55464207/
我是一名优秀的程序员,十分优秀!