在以下HTML中,我想h2在图像悬停时将悬停效果应用于标题img。是否有CSS选择器可以执行此操作?
h2
img
的HTML
<article> <h2><a href="#">Title</a></h2> <a href="#"><img src="#" /></a> </article>
更新:主题说明符似乎已从Selectors Level 4规范的 编辑者草案(2014年5月6日)中 删除。这样就无法使用CSS来实现这一目标。
选择器级别4引入了主题说明符,该说明符允许:
!h2 + a img:hover { }
选择<h2>。
<h2>
当前不存在浏览器支持AFAIK。
您可以在JavaScript中对其进行仿真(以下内容未经测试,但应能带给您想法)。
var img = document.querySelector('h2 + a img'); img.addEventListener('mouseover', function (e) { this.parentNode.previousElementSibling.className += " hovered"; }); img.addEventListener('mouseout', function (e) { this.parentNode.previousElementSibling.className = this.parentNode.previousElementSibling.className.replace(/\shovered/g, ""); });