是否可以在 lightness() 函数中使用变量 css?

时间:2021-01-01 13:02:41

标签: css sass

我试图像这样在 sass 上创建 mixin/function

@function background-set-text-color($color)
  @if (lightness( $color ) > 40)
    @return black
  @else
    @return white

我在我的班级 .button-filled

上使用这个函数
.button-filled
  background: var(--bg-primary)
  padding: var(--p-1p5) var(--p-3)
  font-weight: 500
  color: background-set-text-color(var(--primary))
  border: solid 2px

但它显示这样的错误

./src/assets/sass/master.sass (./node_modules/css-loader/dist/cjs.js??ref--9-oneOf-3-1!./node_modules/postcss-loader/src??ref--9-oneOf-3-2!./node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-3-3!./src/assets/sass/master.sass)
Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
SassError: argument `$color` of `lightness($color)` must be a color
        on line 2 of src/assets/sass/abstracts/_functions.sass, in function `lightness`
        from line 2 of src/assets/sass/abstracts/_functions.sass, in function `background-set-text-color`
        from line 5 of src/assets/sass/components/_button-filled.sass
        from line 14 of src/assets/sass/master.sass
>>   @if (lightness( $color ) > 40) {

   -------^

有什么解决办法吗?谢谢:) 祝大家周末愉快:)

0 个答案:

没有答案