gpt4 book ai didi

CSS :root variables and SASS Functions

转载 作者:行者123 更新时间:2023-12-03 18:32:26 24 4
gpt4 key购买 nike

在我的 HTML 页面的标题中,我设置了以下 CSS 变量:

:root{ 
--data-color-primary: #ffcc00;
--data-color-secondary: #4b4b4b;
}

在我的 SASS 文件中,我按如下方式使用它:
DIV.color {

&.color-primary {
background-color: var(--data-color-primary);
}
&.color-secondary {
background-color: var(--data-color-secondary);
}
}

现在我尝试根据背景颜色的亮度设置字体颜色:
@function set-notification-text-color($color) {
@if (lightness($color) > 60) {
@return #000000;
} @else {
@return #ffffff;
}
}

DIV.color{
&.color-primary {
background-color: var(--data-color-primary);
color: set-notification-text-color(var(--data-color-primary));
}
}

但是在我的 SASS 编译器中,我得到以下错误:

Error: argument $color of lightness($color) must be a color



如何将 der CSS 变量移交给函数。

我的问题是,CSS 变量由用户(Liferay 7)在我的 CMS 的后端设置,并将呈现在 *.FTL 文件中并打印在 HTML 代码中。
$primary: ${clr_primary};
$secondary: ${clr_primary};

然后我不能在我的 SASS 文件中使用 SASS 变量 $primary。

最佳答案

在 CSS 变量中使用 SASS 变量。

$primary: #ffcc00;
$secondary: #4b4b4b;

:root{
--data-color-primary: #{$primary};
--data-color-secondary: #{$secondary};
}

现在调用你的 mixin
DIV.color{
&.color-primary {
background-color: $primary;
color: set-notification-text-color($primary);
}
}

另一种选择是创建一个 mixin 来检索 CSS 变量
@function color($color-name) {
@return var(--data-color-#{$color-name});
}

现在像这样调用该函数
DIV.color {
&.color-primary {
background-color: color(primary);
color: set-notification-text-color(color(primary));
}
}

查看此链接以获取有关组合 CSS 和 SASS 变量的有用信息

https://codepen.io/jakealbaugh/post/css4-variables-and-sass

关于CSS :root variables and SASS Functions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52603815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com