Sass和组合儿童选择器
问题描述:
我刚刚发现了Sass,而且我一直对此非常兴奋。Sass和组合儿童选择器
顺便说一下,在我的网站上,我实现了一个树形导航菜单,使用组合子选择器(E > F
)进行了样式设计。
是否有任何方法可以将重写为这段代码转换为Sass上更简单(或更好)的语法?
#foo > ul > li > ul > li > a {
color: red;
}
答
没有合并子选择,你可能会做一些类似的:如果你想重现相同的语法与>
foo {
bar {
baz {
color: red;
}
}
}
,你可以这样:
foo {
> bar {
> baz {
color: red;
}
}
}
编译为:
foo > bar > baz {
color: red;
}
还是以青菜:
foo
> bar
> baz
color: red
答
对于你有一个规则,没有任何缩短的方式来做到这一点。子组合器在CSS和Sass/SCSS中是一样的,除此之外别无选择。
但是,如果你有多个规则是这样的:
#foo > ul > li > ul > li > a:nth-child(3n+1) {
color: red;
}
#foo > ul > li > ul > li > a:nth-child(3n+2) {
color: green;
}
#foo > ul > li > ul > li > a:nth-child(3n+3) {
color: blue;
}
你可以凝聚他们为以下之一:
/* Sass */
#foo > ul > li > ul > li
> a:nth-child(3n+1)
color: red
> a:nth-child(3n+2)
color: green
> a:nth-child(3n+3)
color: blue
/* SCSS */
#foo > ul > li > ul > li {
> a:nth-child(3n+1) { color: red; }
> a:nth-child(3n+2) { color: green; }
> a:nth-child(3n+3) { color: blue; }
}
+0
因此,组合子选择器没有任何转换...也许有其他选择吗? – frarees
这只是要让它更长的时间,是不是? – BoltClock
我虽然这是什么OP要 – arnaud576875
不错,谢谢。顺便说一句,正如BoltClock所说的,时间更长(对我来说也是某种丑陋的)。似乎我必须留下我的旧式造型。 – frarees