什么是“+”(加号)CSSselect器是什么意思?
例如:
p + p { /* Some declarations */ }
我不知道这是什么意思。 有什么区别,只是定义一个没有+ p
的风格?
此select器意味着该样式仅适用于紧跟在另一个段落之后的段落。
普通的p
select器会将样式应用于页面中的每个段落。
请参阅W3.org上的相邻select器 。
这只会在IE7或以上的作品。 在IE6中,风格不会适用于任何元素。 顺便说一下,这也适用于>
combinator。
另请参阅Microsoft 在Internet Explorer中的CSS兼容性概述。
这是相邻的兄弟select器。
从风格博客的飞溅。
要定义一个CSS邻接select器,使用加号。
h1+p {color:blue;}
上面的CSS代码将格式化第一段后面(不在里面)的任何h1标题为蓝色。
h1>p
select作为h1
元素的直接(第一代)子(内部)的任何p
元素。
-
h1>p
匹配<h1>
<p></p>
</h1>
(<h1>
内部)
h1+p
将select与h1+p
元素同级的第一个p
元素(与dom相同的级别)。
-
h1+p
匹配<h1></h1>
<p><p/>
(<h1>
旁边/之后)
+
符号表示select一个adjacent sibling
例:
CSS
p + p { font-weight: bold; }
HTML
风格将适用于第二个<p>
<div> <p></p> <p></p> </div>
例
看到这个小提琴,你会永远明白它: http : //jsfiddle.net/7c05m7tv/ (另一个小提琴: http : //jsfiddle.net/7c05m7tv/70/ )
浏览器支持
Internet Explorer 5.x Macintosh支持相邻同级select器。 在Netscape 6预览版本1中,所有可用的所有无数平台以及Opera 4 for Windows的预览版本3都支持它们。 在IE5 for Windows和Opera 3 for Windows中处理邻居兄弟select器时存在缺陷。
相关提示:当元素dynamic放置在与select器匹配的元素之前时,Internet Explorer 7不会正确更新样式。 在Internet Explorer 8中,如果通过单击链接dynamic插入元素,则在链接失去焦点之前,不会应用第一个子样式。
学到更多
“+”是相邻的兄弟select器。 它会直接selectp(不是孩子或父母,兄弟姐妹)。
+
select器被称为Adjacent Sibling Selector
。
例如,select器p + p
select紧跟在p
元素之后的p
元素
它可以被认为是一个looking outside
select器,它检查紧接着的元素。
这里是一个示例代码片段,使事情更加清晰:
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
。 请参阅: http : //www.w3.org/TR/CSS2/selector.html
它将select下一个段落,并从左边开始缩进段落,就像在Microsoft Word中一样。
Plus(+)将select第一个直接元素。 当你使用+select器时,你必须给出两个参数。 这将通过例子更加清楚:在这里,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后的第一个跨度。 请注意,第二个跨度不会被选中。