我正在学习父元素和子元素,并且试图弄清楚如何选择/设置嵌套在 3 个 div 中的孙元素的样式,而无需添加额外的类、ID 或 !important 来解决它。父 div 有一个“孙子”类,并且有两个其他 div 共享同一个类。我只需要设置“Aaron”的样式,而不选择与同一类“孙子”关联的其他 p 标签。
<div class="parent">
<!-- red -->
<p>Jane</p>
<div class="child">
<!-- blue -->
<p>Jim</p>
<div class="grandchild">
<!-- green -->
<p>Aaron</p> <!--------------------Style ONLY this one----->
<div class="greatgrandchild">
<!-- pink -->
<p>Victoria</p>
</div>
<div class="greatgrandchild greatgrandchild2">
<!-- purple -->
<p>Devin</p>
</div>
<!-- grandchild2 -->
</div>
<!-- grandchild -->
</div>
<!-- child -->
<div class="child child2">
<!-- coral -->
<p>Susan</p>
<div class="grandchild">
<!-- aqua -->
<p>George</p>
<div class="greatgrandchild">
<!-- rosybrown -->
<p>Julie</p>
</div>
</div>
<div class="grandchild grandchild2">
<!-- sienna -->
<p>Nancy</p>
<div class="greatgrandchild">
<!-- tomato -->
<p>Bob</p>
</div>
</div>
<!-- grandchild -->
</div>
</div>
<!-- parent -->
我已经查看了 Stack Overflow 上的其他答案,但找不到我的情况。下面显示了在 CSS 中尝试和解决它的路线。
/*styles Aaron & George*/
.parent > .child > div:first-of-type > p:nth-child(1) {
color: green;
}
/*Styles Aaron & George*/
div[class="grandchild"] > p {
color:green;
}
<div class="parent">
<!-- red -->
<p>Jane</p>
<div class="child">
<!-- blue -->
<p>Jim</p>
<div class="grandchild">
<!-- green -->
<p>Aaron</p> <!--------------------Style ONLY this one----->
<div class="greatgrandchild">
<!-- pink -->
<p>Victoria</p>
</div>
<div class="greatgrandchild greatgrandchild2">
<!-- purple -->
<p>Devin</p>
</div>
<!-- grandchild2 -->
</div>
<!-- grandchild -->
</div>
<!-- child -->
<div class="child child2">
<!-- coral -->
<p>Susan</p>
<div class="grandchild">
<!-- aqua -->
<p>George</p>
<div class="greatgrandchild">
<!-- rosybrown -->
<p>Julie</p>
</div>
</div>
<div class="grandchild grandchild2">
<!-- sienna -->
<p>Nancy</p>
<div class="greatgrandchild">
<!-- tomato -->
<p>Bob</p>
</div>
</div>
<!-- grandchild -->
</div>
</div>
<!-- parent -->
我已经尝试了几个小时,但无法解决如何做到这一点。