例如:
p + p {
/* Some declarations */
}
我不知道+是什么意思。这和只为p定义一个没有+p的样式有什么区别?
例如:
p + p {
/* Some declarations */
}
我不知道+是什么意思。这和只为p定义一个没有+p的样式有什么区别?
当前回答
这是相邻同级选择器。
来自Splash of Style博客。
要定义CSS相邻选择器使用加号。h1+p{颜色:蓝色;}上面的CSS代码将格式化任何h1标题后的第一段(不在里面)蓝色。
h1>p选择作为h1元素的直接(第一代)子元素(内部)的任何p元素。
h1>p匹配<h1><p></p></h1>(<p>内部<h1>)
h1+p将选择第一个p元素作为h1元素,该元素是兄弟元素(在dom的同一级别)。
h1+p匹配<h1></h1><p><p/>(<p>在<h1>旁边/之后)
其他回答
+选择器以后面的一个元素为目标。类似地,~选择器以后面的所有元素为目标。如果你感到困惑,这里有一个图表:
+符号表示选择“相邻兄弟”
例如,此样式将从第二个<p>开始应用:
p+p{字号:粗体;} <div><p>第1段</p><p>第2段</p></div>
实例
看到这个JSFiddle,你就会明白:http://jsfiddle.net/7c05m7tv/(另一个JSFiddle:http://jsfiddle.net/7c05m7tv/70/)
浏览器支持
所有现代浏览器都支持相邻的同级选择器。
了解更多信息
http://css-tricks.com/almanac/selectors/a/adjacent-sibling/http://www.w3.org/TR/CSS2/selector.html#adjacent-选择器https://developer.mozilla.org/en-US/docs/Web/CSS/Adjacent_sibling_selectors
+显示一个相对选择器。以下是所有相对选择器的列表:
div p-选中<div>元素中的所有<p>元素。
div>p-选择直接父级为<div>的所有<p>元素。它也向后工作(p<div)
div+p-选择一个<div>元素之后立即放置的所有<p>元素。
div~p-选择前面有<div>元素的所有<p>元素。
下面是关于选择器的更多信息。
请参见W3.org上的相邻选择器。
在这种情况下,选择器意味着样式仅适用于另一段落后面的段落。
纯p选择器会将样式应用于页面中的每个段落。
这只适用于IE7或更高版本。在IE6中,样式不会应用于任何元素。顺便说一下,这也适用于>组合子。
另请参阅Microsoft在Internet Explorer中的CSS兼容性概述。
+组合子称为相邻兄弟组合子/下一兄弟组合子。
例如,p+p选择器的组合选择紧跟在p元素之后的p元素
它可以被认为是一种“边看”组合,用于检查紧接着的元素。
下面是一个示例片段,可以让事情更清楚:
正文{font-family:宋体;字体大小:12px;}p+p{左边距:10px;}<div><p>标题段落</p><p>这是一段</p><p>这是另一段</p><p>这是另一段</p><小时><p>页脚段落</p></div>
由于我们在同一主题上,值得一提的是另一个组合子~,它是通用兄弟组合子/后继兄弟组合子
例如,p~p选择p后面的所有p并不重要,但这两个p应该具有相同的父级。
下面是使用相同标记的情况:
正文{font-family:宋体;字体大小:12px;}p~p{左边距:10px;}<div><p>标题段落</p><p>这是一段</p><p>这是另一段</p><p>这是另一段</p><小时><p>页脚段落</p></div>
注意,最后一个p也在这个示例中匹配。