CSS伪类选择器,如何选择并控制相邻的上一个标签?
能百度到的有 >和+这样的符号,分别控制子元素、下一个兄弟元素。
如
<html>
<body>
<style>
#a {color : #FFFF00;}
#a:hover > #b{color : #FF0000;}
#a:hover + #c{color : #00FF00;}
#a:hover + #c > #b{color : #0000FF;}
</style>
<div id='a'>元素1
<div id='b'>元素2</div>
</div>
<div id='c'>元素3
<div id='b'>元素2</div>
</div>
</body>
</html>
我想知道的是,有没有更多这样的符号?比如能实现选择上一个兄弟元素?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
没有直接的方案,但有另外几个CSS3的伪类或许可以解决一些问题。
p:first-of-type
:指定父元素的首个 p 元素的背景色#a~#c:hover
:c元素上面必须有a。感受一下:
只用css的话是不行的,css选择器是向下选择的,没法向上选择,你可以试下sass或者js实现;;;
如果一定要通过css让一个元素(a)控制另一个元素(b),那只能让b成为a的子元素或放到a后面
谢邀
http://www.runoob.com/cssref/... 这个能给你很大帮助
可以说是一个逻辑问题……
选择子元素或下一个兄弟元素,是以当前元素为参照的。要选择“上一个兄弟元素”,可以选择以“上一个兄弟元素”为参照,给个class或id,那么相对地“当前元素”就是“下一个兄弟元素”了。。。
可以用 + 和 > 实现的功能,不需要再定义多类似的伪类选择器,记起来也易混淆。
之前
W3C
好像说过会引起什么回溯问题,你这种想法其实可以使用现有CSS3方案解决,就是写起来代码可能会有点难看。比如我希望
<label>
在<input>
获取焦点时变色。Change label color when input:focus