如何nth-child(n)
在将内联样式应用于元素(显然包含多个元素)时添加声明。
例如,假设我有一个div
包含三个p
元素的。
一般样式表规则如下所示:
div p:nth-child(2) {
color: blue;
}
但是,如何在将内联样式应用于包含时仍将第二段着色为蓝色div
?
如何nth-child(n)
在将内联样式应用于元素(显然包含多个元素)时添加声明。
例如,假设我有一个div
包含三个p
元素的。
一般样式表规则如下所示:
div p:nth-child(2) {
color: blue;
}
但是,如何在将内联样式应用于包含时仍将第二段着色为蓝色div
?
内联样式属性仅适用于具有该属性的元素。因此,例如,如果您在 a 上有一个 style 属性div
,则样式将仅适用于该div
属性(尽管有继承的属性和冲突的样式)。您不能在另一个元素上使用内联样式属性来定位不同的元素。
即使将样式属性应用到p
元素上,也不能基于伪类有条件地应用内联样式。请参阅我对这个问题的回答,了解原因。但是,如果标记是动态生成的,您可以使用类似的逻辑控制是否首先打印样式属性,但这超出了您的问题范围。
假设您要将nth-child(n)
声明应用为内联样式的原因是因为您无法编辑 CSS 文件或不想编辑;但您需要直接在页面上应用您的样式,您可以尝试<style>
在相关 div 旁边添加一个标签:
<style>
div.myContainer p:nth-child(2) {
color: blue;
}
</style>
<div class="myContainer">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
我应该注意:这不是构建代码的理想方式。样式和 HTML/内容应该分开以创建格式正确的语义标记。
此外,如果您必须在多个地方应用此样式,它可能会变得混乱和/或不一致。但是,我知道有时您必须根据项目进行例外处理。
li:nth-child(10n-2) {
background: red;
}
这是我的源代码的基础!