我有以下的html代码:
<div id="test">
<span>
test
<span>test</span>
</span>
</div>
以下是相关的CSS代码:
#test > span {
color: red;
}
上述代码难道不应该只选择test div的直接子级span吗?因此,只有第一个“test”单词应该是红色的,但嵌套在子级span内部的第二个“test”单词不应选择。或者我理解错了吗?
其他条件相同的情况下,span的默认样式将为:
span { color: inherit; }
因此,虽然规则color: red;
不会直接应用于它,但它将从父元素的颜色中获取颜色。
只需保留第一个 span 子元素的样式即可。
#test > span {
color: red;
}
并为第二个 span 子元素添加样式。
<div id="test">
<span>test
<span style="color: black;">test</span>
</span>
</div>
或者您可以为 span 元素设置一个类,就像这样。
.red_color {
color: red;
}
然后将其添加到您的 span 元素中。
<div id="test">
<span>test
<span class="red_color">test</span>
</span>
</div>
span{ color: black; } #test > span { color: red; }
- Prisoner