Answers:
请参阅W3.org上的相邻选择器。
在这种情况下,选择器意味着样式仅适用于直接在另一个段落之后的段落。
一个简单的p
选择器会将样式应用于页面中的每个段落。
这仅适用于IE7或更高版本。在IE6中,样式不会应用于任何元素。>
顺便说一下,这也适用于组合器。
另请参阅Microsoft 在Internet Explorer中的CSS兼容性概述。
p > p
意思是嵌套的p
ei p
,也就是直接位于另一个嵌套下方的任何东西p
,例如<p><p>This paragraph</p></p>
。
这是相邻的兄弟选择器。
要定义CSS相邻选择器,请使用加号。
h1+p {color:blue;}
上面的CSS代码会将任何h1标题之后(而不是内部)的第一段格式设置为蓝色。
h1>p
选择作为p
元素的直接(第一代)子h1
元素(内部)的任何元素。
h1>p
匹配<h1>
<p></p>
</h1>
(<p>
内部<h1>
)h1+p
将选择p
作为同级(与dom处于同一级别)的同级的第一个h1
元素。
h1+p
匹配<h1></h1>
<p><p/>
(<p>
旁边/之后<h1>
)plus sign
和之间感到困惑greater sign
。如果我使用h1>p
而不是h1+p
,是否会得到相同的结果?您能解释一下两者之间的区别吗?
h1>p
选择任何作为p
元素的直接(第一代)子h1
元素的元素。 h1+p
将选择p
作为同级(与dom处于同一级别)的同级的第一个h1
元素。 h1>p
比赛<h1><p><p></h1>
,h1+p
比赛<h1></h1><p><p/>
该+
标志意味着选择一个“相邻的兄弟”
例如,此样式将从第二个开始应用<p>
:
看到这个JSFiddle,您将理解它:http : //jsfiddle.net/7c05m7tv/ (另一个JSFiddle:http : //jsfiddle.net/7c05m7tv/70/)
所有现代浏览器均支持相邻的兄弟选择器。
+
选择器称为Adjacent Sibling Selector
。
例如,选择器p + p
,选择p
紧随元素之后的p
元素
可以将其视为looking outside
检查紧随其后的元素的选择器。
这是一个示例片段,使事情变得更加清晰:
body {
font-family: Tahoma;
font-size: 12px;
}
p + p {
margin-left: 10px;
}
<div>
<p>Header paragraph</p>
<p>This is a paragraph</p>
<p>This is another paragraph</p>
<p>This is yet another paragraph</p>
<hr>
<p>Footer paragraph</p>
</div>
由于我们是同一主题,因此值得一提的是另一个选择~
器General Sibling Selector
例如,p ~ p
选择所有p
紧随其后的内容p
都无关紧要,但是两者p
都应具有相同的父对象。
这是带有相同标记的外观:
body {
font-family: Tahoma;
font-size: 12px;
}
p ~ p {
margin-left: 10px;
}
<div>
<p>Header paragraph</p>
<p>This is a paragraph</p>
<p>This is another paragraph</p>
<p>This is yet another paragraph</p>
<hr>
<p>Footer paragraph</p>
</div>
请注意,p
此示例中的最后一个也是匹配的。
它将匹配p
与元素“ p”紧邻的任何元素。请参阅:http://www.w3.org/TR/CSS2/selector.html
+
显示相对选择器之一。所有相关选择器的列表:
div p
- 选择了<p>
元素内部的所有元素<div>
。
div > p
- 选择了<p>
直接父级的所有元素<div>
。它也向后工作(p < div
)
div + p
-所有<p>
元素都紧接在<div>
元素之后。
div ~ p
-选择所有在<p>
元素之前的<div>
元素。
有关选择器的更多信息,请参见此处。
p+p{
//styling the code
}
p+p{
} simply mean find all the adjacent/sibling paragraphs with respect to first paragraph in DOM body.
<div>
<input type="text" placeholder="something">
<p>This is first paragraph</p>
<button>Button </button>
<p> This is second paragraph</p>
<p>This is third paragraph</p>
</div>
Styling part
<style type="text/css">
p+p{
color: red;
font-weight: bolder;
}
</style>
It will style all sibling paragraph with red color.
最终输出看起来像这样
加号(+)将选择第一个立即元素。使用+选择器时,必须提供两个参数。通过示例将更加清楚:此处div和span是参数,因此在这种情况下,仅将对div之后的第一个span进行样式设置。
div+ span{
color: green;
padding :100px;
}
<div>The top or first element </div>
<span >this is span immediately after div, this will be selected</span>
<span>This will not be selected</span>
以上样式仅适用于div之后的第一个跨度。重要的是要注意,不会选择第二个跨度。
这意味着它与每个p
紧邻的元素匹配
www.snoopcode.com/css/examples/css-adjacent-sibling-selector