Ray*_*jax 4 css stylus sass css3 less
减
.list a{
.landscape&{
height: 100%;
}
}
Run Code Online (Sandbox Code Playgroud)
产出
.landscape.list a {
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
这意味着“其父母同时具有.landscape和.list的所有标签”
减
.list a{
&.landscape{
height: 100%;
}
}
Run Code Online (Sandbox Code Playgroud)
产出
.list a.landscape {
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
意思是“所有具有“ landscape”类且其父母具有“ .list”类的标签”
这是有道理的。但是,如果我从这些选择器中删除“ a”标记,则“&”仅更改.list和.landscape的串联顺序。
重点是什么 ?什么时候应该使用&.class?什么时候应该使用class。&?
文章“LESS CSS: Secrets of the &sand”详细介绍了其中的差异。我将重点介绍关键用途:
后者是我最喜欢的。我用它来处理一些疯狂的 IE 问题。看一下这个:
/**
* Add a top border to paragraphs,
* but remove that border when a preceding paragraph already has one.
*/
p {
border-top: 1px solid gray;
& + & {
border-top: 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我认为如果你能集中精力理解这个用法的&用途,那么所有其他用法都会变得显而易见。