让我们看一下这个例子:
.box {
padding: 1rem;
.item {
paddding: 1rem;
border: 1px solid #ccc;
a {
color: #000;
}
}
}
我想在这里添加带有伪类的新规则。 如何使用SCSS来获得此输出?
.box .item:first-child a:first-child {display: none;}
.box .item:last-child a:last-child {display: none;}
我知道我可以使用&
父选择器,并且它可以与<a/>
一起设置伪类:
a {
color: #000;
&:first-child {
display: none;
}
}
但是我该怎么做才能将伪类设置为上一个父级.item
?
更新
有什么办法做到不复制选择器?像这样:
a { color: #000; $parent(has:first-child) {display: none;} }
答案 0 :(得分:2)
您必须为其创建特定的嵌套规则:
.box {
padding: 1rem;
.item {
paddding: 1rem;
border: 1px solid #ccc;
a {
color: #000;
}
&:first-child,
&:last-child {
a {
&:first-child,
&:last-child {
display: none;
}
}
}
}
}
我相信没有重构的方法。