CSS有+
选择器,它选择紧跟在元素后面的兄弟。如在this question中所讨论的,没有类似的-
选择器用于选择立即先于的元素的同级。什么是没有CSS“ - ”选择器的技术原因?
没有-
选择器选择前面的兄弟姐妹的原因是什么?更具体地说,使用浏览器执行此操作有什么技术限制(如果有的话)?
让我们假设为参数的缘故,我希望能够写这样的代码:
<style>
p:hover, img:hover + p {
background-color: yellow
}
img:hover, p:hover - img {
outline: solid 2px yellow
}
</style>
...
<img src="image.png"/>
<p>Description of image 1</p>
<img src="image1.png"/>
<p>Description of image 2</p>
理想情况下,我不会写任何JavaScript和我也不会来重新构造我的HTML(例如)将对包装在公共div中。任何人都可以指出为什么我不能在CSS中选择前面的兄弟姐妹的技术原因?
什么关系呢?它不存在! –
@Diodeus也许它可以在某天添加到W3规范:) – acbabis
它们之间的二分法可以忽略不计。为什么你会需要这两个,我想不出一个场景是否需要它,因为如果一个元素之后存在一个兄弟姐妹,为什么你需要反向选择它,对我来说似乎是多余的。 –