使用scss随机函数应用随机背景色

使用scss随机函数应用随机背景色,css,sass,Css,Sass,我已经读过多篇关于这方面的文章,但是如果我有一个颜色列表,并且我想刷新其中一种颜色作为背景图像,我就无法让它工作 $red: #fc5545; $pink: #FCCCD1; $green: #005E61; $greenLight: #42BA80; $yellow: #ffcf6f; $orange: #F57859; $orangeLight: #FABD91; $greyLight: #ebebeb; $greyDark: #2e2e2e; $blue: #29A8BF; $blueLi

我已经读过多篇关于这方面的文章,但是如果我有一个颜色列表,并且我想刷新其中一种颜色作为背景图像,我就无法让它工作

$red: #fc5545;
$pink: #FCCCD1;
$green: #005E61;
$greenLight: #42BA80;
$yellow: #ffcf6f;
$orange: #F57859;
$orangeLight: #FABD91;
$greyLight: #ebebeb;
$greyDark: #2e2e2e;
$blue: #29A8BF;
$blueLight: #B8E3EB;
$blueDark: #142447;

$colors: $pink, $green, $greenLight, $yellow, $orange, $orangeLight, $blue, $blueLight, $blueDark;
$colorsText: $blueDark, $orangeLight, $blueLight, $red, $blueLight, $red, $blueLight, $blue, $pink;

$key: random( length($colors) );
$nth: nth( $colors, $key );
$nthText: nth( $colorsText, $key );

$random: $nth !default;
$randomText: $nthText !default;

.boxTitle {
    background-color: $random;
    color: $randomText !important;
}

每次刷新时,颜色都保持不变。

Random仅在编译Sass时插入随机值,而不是在刷新时插入随机值。一旦css被编译,它就完成了

发件人:

请注意,random()生成的随机数在编译Sass时发生。在编辑器视图中工作时,这种情况经常发生:每次更新Sass代码时。但是,当在(例如)全页视图中查看页面时,我们不会为每次刷新重新编译sas。这只是显示已经编译和缓存的CSS


Random仅在编译Sass时插入随机值,而不是在刷新时插入。一旦css被编译,它就完成了

发件人:

请注意,random()生成的随机数在编译Sass时发生。在编辑器视图中工作时,这种情况经常发生:每次更新Sass代码时。但是,当在(例如)全页视图中查看页面时,我们不会为每次刷新重新编译sas。这只是显示已经编译和缓存的CSS


我认为这方面的问题是.scss被编译成.css

在这里使用javascript似乎更好。像这样(包括jQuery代码,但可以很容易地转换为vanilla)


我认为这方面的问题是.scss被编译成.css

在这里使用javascript似乎更好。像这样(包括jQuery代码,但可以很容易地转换为vanilla)


我认为在创建列表时需要使用括号:

$colors: ($pink, $green, $greenLight, $yellow, $orange, $orangeLight, $blue, $blueLight, $blueDark);
$colorsText: ($blueDark, $orangeLight, $blueLight, $red, $blueLight, $red, $blueLight, $blue, $pink); 

我认为在创建列表时需要使用括号:

$colors: ($pink, $green, $greenLight, $yellow, $orange, $orangeLight, $blue, $blueLight, $blueDark);
$colorsText: ($blueDark, $orangeLight, $blueLight, $red, $blueLight, $red, $blueLight, $blue, $pink); 

缓存问题?sass有它的位置,但是你很可能需要JavaScript来应用页面刷新时加载的随机值。缓存问题?sass有它的位置,但是你很可能需要JavaScript来应用页面刷新时加载的随机值。如果它可以很容易地转换为JS,那么为什么不这样做呢?即使问题与JS无关,顺便提一下,如果它可以很容易地转换为JS,那么为什么不这样做呢?即使这个问题与JS无关