相邻兄弟选择器通过“+”连接,仅对紧接在另一同级元素后的元素生效。例如h2 + p会选中紧跟h2的首个p元素并应用样式,适用于标题后首段样式、表单提示高亮及结合:checked实现折叠面板等场景,要求两元素同父且相邻,不支持向前选择,兼容IE7及以上浏览器。

CSS 相邻兄弟选择器用于选择紧接在另一个元素后的同级元素,且二者拥有相同的父元素。这个选择器使用加号(+)连接两个选择器,只作用于紧跟其后的兄弟元素。
基本语法
相邻兄弟选择器的语法格式如下:
前一个元素 + 后一个元素 { 样式声明 }只有当“后一个元素”是“前一个元素”的直接下一个同级元素时,样式才会生效。
使用示例
假设我们有以下 HTML 结构:
立即学习“前端免费学习笔记(深入)”;
标题
这是第一个段落。
这是第二个段落。
这是第三个段落。
如果我们想仅对紧跟在 h2 元素后的第一个 p 元素设置样式,可以这样写 CSS:
h2 + p {color: red;
font-weight: bold;
}
结果是:“这是第一个段落。”会变成红色并加粗,而后面的 p 元素不受影响,因为它们不是 h2 的直接相邻兄弟。
常见应用场景
相邻兄弟选择器非常适合用于内容排版中的精细控制,例如:
- 为标题后的第一个段落添加特殊样式(如首段缩进取消或加大字号)
- 在特定表单元素后高亮显示提示信息
- 实现某些交互效果,比如结合:checked伪类控制下拉内容的显示
例如,在制作折叠面板时:
input[type="checkbox"]:checked + .panel {display: block;
}
当复选框被选中时,紧随其后的 .panel 元素才会显示。
注意事项
使用相邻兄弟选择器时需注意以下几点:
- 两个元素必须具有相同的父元素
- 后面的元素必须紧挨着前面的元素,中间不能插入其他元素(包括空白文本节点)
- 不能向前选择,即不能选择前面的兄弟元素
- 支持所有现代浏览器,包括 IE7 及以上版本
基本上就这些。掌握好相邻兄弟选择器,能让CSS更精准地控制页面结构样式,减少不必要的类名依赖。










