css – 根据选择器在Sass中设置变量

前端之家收集整理的这篇文章主要介绍了css – 根据选择器在Sass中设置变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个网站使用了一些不同的“主要”颜色.一般的HTML布局保持不变,只有颜色会根据内容而改变.

我想知道我是否可以根据CSS选择器设置颜色变量.通过这种方式,我可以使用一些变量来主题化我的网站,让Sass填充颜色.

例如:

$color-1: #444;
$color-2: #555;
$color-3: #666;
$color-4: #777;

body.class-1 {
  color-default: $color-1;
  color-main: $color-2;
}
body.class-2 {
  color-default: $color-3;
  color-main: $color-4;
}

/* content CSS */
.content {
  background: $color-default;
  color: $color-main;
}

我正在考虑使用mixin,但我想知道是否有更好的方法来做这个 – 可能有一个功能?我对萨斯不是那么好,所以任何帮助都会受到赞赏.

解决方法

我认为 mixin就是答案. ( As I wrote,变量不起作用.)
@mixin content($color-default,$color-main) {
  background: $color-default;
  color: $color-main;
}

body.class-1 {
  @include content(#444,#555);
}

body.class-2 {
  @include content(#666,#777);
}

那SCSS compiles to这个CSS:

body.class-1 {
  background: #444444;
  color: #555555; }

body.class-2 {
  background: #666666;
  color: #777777; }

如果要将颜色值组合在SCSS文件中,可以将变量与mixin结合使用:

$color-1: #444;
$color-2: #555;
$color-3: #666;
$color-4: #777;

body.class-1 {
  @include content($color-1,$color-2);
}

body.class-2 {
  @include content($color-3,$color-4);
}
原文链接:/css/217525.html

猜你在找的CSS相关文章