即使元素被隐藏,注册也会始终悬停在元素上

时间:2017-04-28 12:02:28

标签: css hover

我很确定我可以使用JS或jQuery来做到这一点,但我想知道如何使用CSS来做到这一点。

我有一个元素,我想在鼠标悬停时隐藏它。问题是,只要鼠标悬停在元素上,元素就会被隐藏(到目前为止一直很好),但是如果鼠标随后在元素上移动,它似乎不会将鼠标悬停在隐藏元素上,因此不会隐藏它,所以通过注册悬停并隐藏它。这导致元件的恼人闪烁。可以看出here

例如,here,我在悬停时更改背景颜色,这样可以保持一致。如果我试着

1 个答案:

答案 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>