微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以使用:hover伪类来做到这一点吗?

如何解决我可以使用:hover伪类来做到这一点吗?

| 我熟悉:hover psuedo类,并将其用于元素以及我们都已经习惯的典型链接设置。但是,我试图做的是创建一种情况,将鼠标悬停在一个元素上会改变另一个元素的属性。例如,如果我将鼠标悬停在.block1上,则#block2将变为可见。我认为.css看起来像这样...
.block1:hover div#block2
{
    visibility:visible;
}
但这使我无处可去。有什么想法吗?我知道我可能可以使用javascript来做到这一点(使元素出现和消失),但是我很乐意为此找到一个纯CSS解决方案。     

解决方法

        您要更改的元素必须是您要悬停的元素的子元素。 CSS示例:
#navButton div.text {
    display:none;
}

#navButton:hover div.text {
    display:block;
}
如果将鼠标悬停在id = \“ navButton \”的元素上,将显示文本div。 否则,请使用JQuery解决方案: CSS:
#navButton div.text {
    display:none;
}

.hover {
    display:block;
}
Javascript:
$(\"#navButton\").hover(
    function () {
        $(\"#navButton div.text\").addClass(\"hover\");
    },function () {
        $(\"#navButton div.text\").removeClass(\"hover\");
    }
);
编辑: 如果悬停的元素位于要修改的元素之前,则还可以对CSS中的兄弟元素执行此操作。像这样:
#navButton + div.text {
    display:none;
}

#navButton:hover + div.text {
    display:block;
}
要么
#navButton ~ div.text {
    display:none;
}

#navButton:hover ~ div.text {
    display:block;
}
    ,        如果第二个元素是第一个元素的后代,则它将起作用。 jsFiddle。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。