据我了解,CSS 中的通用兄弟选择器选择元素的降序兄弟。
考虑以下代码:
<head>
<style>
h3 ~ div {
color: #FF00FF;
}
</style>
</head>
<body>
<h3>Header 3</h3>
<div>Sibling divivion</div>
<p>
<p>Nested paragraph</p>
<div>Nested division</div>
</p>
</body>
我希望通用兄弟选择器将 h3 的所有下降 sibling 作为 div 元素。
有人可以解释为什么选择“嵌套划分”吗?我不认为它是 h3 的 sibling ?
最佳答案
div
实际上是 h3
元素的兄弟元素。 p
元素中不能有 p
元素和 div
元素:
"The P element represents a paragraph. It cannot contain block-level elements (including P itself)."
引用:9.3.1 Paragraphs: the P element
当浏览器遇到第二段时,它会结束第一段,因此第二段和 div
元素在第一段之后结束:
<h3>Header 3</h3>
<div>Sibling divivion</div>
<p></p>
<p>Nested paragraph</p>
<div>Nested division</div>
<p></p>
段落的结束标记是可选的,因此段落以结束标记结束,或者在下一个 block 元素开始的地方结束。第一段的预期结束标记缺少起始标记,并作为单独的段落结束。
关于html - 一般兄弟选择器 - 奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27433284/