CSS中的+是啥意思? [复制]

Posted

技术标签:

【中文标题】CSS中的+是啥意思? [复制]【英文标题】:What does + mean in CSS? [duplicate]CSS中的+是什么意思? [复制] 【发布时间】:2011-03-23 20:43:26 【问题描述】:

此 CSS 规则中的 + 是什么意思?

h2 + p  
  font-size: 1.4em; 
  font-weight: bold;
  color: #777; 
 

【问题讨论】:

【参考方案1】:

+ 是adjacent sibling combinator。

这意味着选择器h2 + p 仅选择紧接在h2 之后的p

插图:

<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 来满足它的选择器。

【讨论】:

【参考方案2】:

它选择直接在 DOM 中的h2 元素之后 的所有p 元素。因此,以下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>

【讨论】:

【参考方案3】:

它选择直接在 h2 标签旁边的所有 P 标签。然后给它上述属性。

【讨论】:

直接之后,甚至。 CSS 适用于元素,而不是标签。 这个答案模棱两可。它将选择一个直接在 H2 元素之后的 P 元素(不是全部)。【参考方案4】:

只影响直接跟随(紧随其后)H2

的第一个p

示例 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 -->

【讨论】:

以上是关于CSS中的+是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

CSS媒体查询中的“唯一屏幕”代码是啥意思? [复制]

CSS中的“outline:thin dotted \9”是啥意思? [复制]

CSS 中的这个运算符 (::) 是啥意思? [复制]

在 CSS 颜色的末尾添加 \9 是啥意思? [复制]

帮看下这句css中的波浪号是啥意思

css中的@是啥意思?