考虑以下示例:
<div class='parent'>
<a class='goodchild'>I am good</a>
<p class='child'>..</p>
</div>
和
<div class='parent'>
<a class='badchild'>I am bad</a>
<p class='child'>..</p>
</div>
现在,我想为这两个例子应用不同的规则集(比如,给第一个例子的"child"类10px的边距,给第二个例子的‘child’类20px的边距)。使用CSS,我将如何定义考虑前一个兄弟类的规则,即"goodchild"或"badchild"和父类"parent"。
您可以使用"相邻同级选择器"(+
)来实现这一点。
.goodchild + .child {
margin: 10px;
}
.badchild + .child {
margin: 20px;
}
试试这个:尝试相邻的同级选择器来瞄准最近的同级元素
.parent .goodchild + .child {
margin:10px;
}
.parent .badchild + .child {
margin:20px;
}
Fiddle
.parent .goodchild{
margin:10px;
}
.parent .badchild{
margin:20px;
}
这应该行得通。