【发布时间】:2022-01-10 19:24:16
【问题描述】:
<p>hello
<div>test</div>
</p>
<div>yo
<p>hi</p>
</div>
<p>hello</p>
我有以下代码,当我使用以下样式时,我得到以下内容。
p + div {
color:orange;
}
它对 p 内的 div 进行样式设置,我认为它只应该在同一级别之后立即设置兄弟姐妹的样式?奇怪的是,如果我执行以下操作
div + p {
color:orange;
}
它不会如图所示设置 div 标签内的 p 样式。
有人知道怎么回事吗?
【问题讨论】:
-
div 中的 p 继承了您在第一个示例中设置样式的父 div 的黄色,在第二个示例中,您只有紧跟 div 的最后一个 p,这就是为什么只有那个一个是风格。 (顺便说一句,您在 p 中的 div 是无效的 html)
-
@pete 其实旁白解释了实际原因。
标签: html css css-selectors