我很确定我可以使用JS或jQuery来做到这一点,但我想知道如何使用CSS来做到这一点。
我有一个元素,我想在鼠标悬停时隐藏它。问题是,只要鼠标悬停在元素上,元素就会被隐藏(到目前为止一直很好),但是如果鼠标随后在元素上移动,它似乎不会将鼠标悬停在隐藏元素上,因此不会隐藏它,所以通过注册悬停并隐藏它。这导致元件的恼人闪烁。可以看出here
例如,here,我在悬停时更改背景颜色,这样可以保持一致。如果我试着
答案 0 :(得分:1)
问题是,当某个项目有visiblity:hidden
时,您无法再“触摸”它。所以它不在那里。因此,隐藏后没有任何东西可以悬停。因此,当您移动光标时,它会再次变为可见并立即不可见(因为您在悬停时设置的CSS样式)因此闪烁的问题
您可以使用opacity:0
代替悬停,元素将在那里,您可以“触摸”但不可见
这是可见性和不透明度之间的差异
a {
color: white;
background-color: purple;
padding: 0.2em 0.6em;
display:block;
}
a:hover {
opacity:0; }
<a> Hover here </a>