在 CSS 中,我们可以使用“~”选择器获取一个元素之前的所有兄弟元素,但是如果我们只需要获取前一个兄弟元素,该怎么办呢?这就需要使用到一些 CSS3 中的新选择器。
要想获取前一个兄弟元素,我们可以使用“+”选择器。比如说,下面的代码就可以选中类名为“sibling2”的前一个兄弟元素:
.sibling2 + .sibling1 { /* 具体的样式 */ }
如果我们将 HTML 改为下面这样,我们会发现“+”选择器失效了:
<div class="parent"> <div class="sibling1"></div> <div class="sibling2"></div> <div class="sibling3"></div> </div>
这是因为在新的 HTML 中,“sibling2”并不是“sibling1”的直接兄弟元素了。解决这个问题的方法是使用“~”选择器,它可以选中前面所有的兄弟元素:
.sibling2 ~ .sibling1:first-child { /* 具体的样式 */ }
这样我们就可以成功地选中“sibling2”前面的兄弟元素了。