我刚加入SCSS。抱歉,是否曾经有人问过我,但是我找不到与我想做的完全匹配的事情。

我有一个.erb视图,可以动态地将类分配给特定的div。例如,我可能有这样的事情:

<div class="red blue green">Hello world!</div>


有没有一种方法可以访问div的所有类,因此我可以执行以下操作:

@each $c in CLASSES {
  $g: $g, $c;
}
linear-gradient(to bottom right, $g);
//would be equivalent to linear-gradient(to bottom right, #F00, #0F0, #00F);

最佳答案

Sass是CSS预处理程序,意味着它可以编译成CSS,并且由于CSS本身不知道HTML的存在或使用方式,因此无法完成。您应该重新考虑如何编写CSS,并可能采用类似以下的方法:

.gradient-rgb { linear-gradient(to bottom right, #F00, #0F0, #00F) }
.gradient-gbr { linear-gradient(to bottom right, #0F0, #00F, #F00) }
.gradient-brg { linear-gradient(to bottom right, #00F, #F00, #0F0) }


如果您采用这种方法,那么您就可以使用Sass映射来生成类。如果不可行,那么您也可以考虑使用JavaScript。

关于css - 在SCSS中访问div的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39134473/

10-12 19:27