Html 将样式应用于具有基于父div和#x27;s类及其以前的同级';s级

Html 将样式应用于具有基于父div和#x27;s类及其以前的同级';s级,html,css,Html,Css,考虑以下示例: <div class='parent'> <a class='goodchild'>I am good</a> <p class='child'>..</p> </div> 我很好 .. 及 我很坏 .. 现在,我想为这两个示例应用不同的规则集(例如,第一个示例的“child”类a边距为10px,第二个示例的“child”类a边距为20px)。使用C

考虑以下示例:

 <div class='parent'>  
      <a class='goodchild'>I am good</a>  
      <p class='child'>..</p>  
    </div>  

我很好

..


我很坏

..


现在,我想为这两个示例应用不同的规则集(例如,第一个示例的“child”类a边距为10px,第二个示例的“child”类a边距为20px)。使用CSS,我将如何定义考虑到前一个兄弟类(即“goodchild”或“badchild”)和父类“parent”的规则

您可以使用“相邻同级选择器”(
+
)实现这一点

尝试以下操作:尝试以最近的同级元素为目标

.parent .goodchild + .child {
    margin:10px;
}
.parent .badchild + .child {
    margin:20px;
}

这应该行。

我相信你不明白OP想要什么。他想在每个
.parent
div中的
.child
div上加上边距。正如法哈德指出的,你的答案并不针对.child类。我不知道为什么这个答案会被否决,但它是有效的。谢谢@欢迎光临。
.goodchild + .child {
    margin: 10px;
}
.badchild + .child {
    margin: 20px;
}
.parent .goodchild + .child {
    margin:10px;
}
.parent .badchild + .child {
    margin:20px;
}
.parent .goodchild{
   margin:10px;
}

.parent .badchild{
   margin:20px;
}