我刚刚发现了Sass,对此感到非常兴奋。
在我的网站中,我实现了一个树状的导航菜单,该菜单使用子组合器(E > F
)设置样式。
有什么方法可以在Sass中使用更简单(或更优)的语法来重写此代码?
#foo > ul > li > ul > li > a {
color: red;
}
我刚刚发现了Sass,对此感到非常兴奋。
在我的网站中,我实现了一个树状的导航菜单,该菜单使用子组合器(E > F
)设置样式。
有什么方法可以在Sass中使用更简单(或更优)的语法来重写此代码?
#foo > ul > li > ul > li > a {
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; }
}
没有组合的子选择器,您可能会执行以下操作:
如果您想使用复制相同的语法
>
,可以这样做:编译为:
或无礼: