此CSS规则中的+
是什么意思?
h2 + p {
font-size: 1.4em;
font-weight: bold;
color: #777;
}
答案 0 :(得分:29)
+
是adjacent sibling combinator。
这意味着选择器h2 + p
仅选择 p
后立即的h2
。
插图:
<h2>Headline!</h2>
<p>The first paragraph.</p> <!-- Selected [1] -->
<p>The second paragraph.</p> <!-- Not selected [2] -->
<h2>Another headline!</h2>
<blockquote>
<p>A quotation.</p> <!-- Not selected [3] -->
</blockquote>
选择了什么,什么不是:
<强>选择的强>
这个p
就在第一个h2
。
未选中
此p
发生在第一个p
之后,而不是h2
。由于它不会紧跟h2
,因此未选中。
但是,由于它仍然跟在h2
元素之后,因此选择器h2 + p
将不会与此元素匹配,但h2 ~ p
将使用general sibling combinator代替。
未选中
此p
位于blockquote
内,并且在引号内没有h2
以满足其选择器。
答案 1 :(得分:4)
它选择在DOM中的p
元素之后直接的所有h2
个元素。因此,将对以下p
元素进行样式设置:
<h2>A heading</h2>
<p>This paragraph will be styled.</p>
但这不会:
<h2>A heading</h2>
<hr>
<p>This paragraph will NOT be styled.</p>
这两者都不会:
<p>This paragraph will NOT be styled.</p>
<h2>A heading</h2>
......或者这个:
<h2>A heading</h2>
<section>
<p>This paragraph will NOT be styled.</p>
</section>
答案 2 :(得分:2)
它选择直接位于h2标签旁边的所有P标签。然后给它上述属性。
答案 3 :(得分:0)
仅影响第一个p 直接跟随(紧接在后) H2
示例1:
<h2></h2>
<p></p> <!-- THIS ONE IS AFFECTED -->
<p></p> <!-- THIS ONE IS NOT AFFECTED -->
<p></p> <!-- NOR THIS ONE -->
<p></p> <!-- NOR THIS ONE -->
<p></p> <!-- ETC -->
示例2:
<h2></h2>
<div></div>
<p></p> <!-- THIS ONE IS NOT AFFECTED -->