html - 我如何只针对 :hovered element and none of its parents in CSS?

标签 html hover mouseover css

所以我有嵌套的 div。当我将鼠标悬停在一个 div 上时,我希望该 div 而没有其他 div 获得 box-shadow。不幸的是,:hovered div 的父级也是 box-shadowing,因为它们具有相同的签名。我无法更改它,因为它们来自无限嵌套 模板。

pretty mouseover diagram yay

我想我只需要定位任何用 box-shadow :hovered 的列表项,然后定位它的父项以防止它们表达 box-shadow 但我不知道如何在 CSS 中表达它:

ul:hover{
  box-shadow: 0px 1px 2px 1px rgba(0,0,0,0.12);
}

<some statement..?>{
  box-shadow: none;
}

编辑: This is a JSFiddle of my thing

最佳答案

您可以通过为您的元素指定一个 id 来做到这一点:

<style type="text/css">
div[id='child']:hover{
background-color:purple;
}

</style>

<div id='parent'>

Hello<br>
<div id='child'>hi<div>

</div>

jsfiddle example

关于html - 我如何只针对 :hovered element and none of its parents in CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25274513/

相关文章:

html - CSS 防止链接像链接一样工作

html - 为什么我的 HTML h1 元素跨越两行,但它有足够的空间可以使用一行?

javascript - 自定义元素继承

css - 悬停时 html 对齐不正确

javascript - 如何使用 jQuery 捕获动态添加的输入 HTML 元素上的鼠标悬停事件?

wpf - WPF中的鼠标悬停事件?

javascript - 带鼠标悬停 javascript 的链接菜单

php - jquery ajax更新mysql表

javascript - 在不向 DOM 添加视频的情况下获取网络摄像头流分辨率?

jquery - 使用 jQuery,如何判断元素当前是否为 "hovered"