简体   繁体   English

JavaScript和CSS:在鼠标悬停时在元素上显示div

[英]JavaScript and CSS: display a div over an element on mouseover

I want to display a div over an element (especially a link) when hovered, like in Facebook, when you hover a profile picture. 我想在悬停时在元素(尤其是链接)上显示div,就像在Facebook中悬停个人资料图片时一样。

I know this could be done with JavaScript and CSS but have no exact idea. 我知道这可以用JavaScript和CSS来完成,但没有确切的想法。

Facebook's approach is to simply use CSS, which won't work in all browsers. Facebook的方法是仅使用CSS,但并非在所有浏览器中都可以使用CSS。 In those browsers Facebook ditches the effect and always shows the element that should only display on hover: 在这些浏览器中,Facebook会挖沟效果,并始终显示仅应悬停显示的元素:

#parent #child {
  display: none;
}
#parent:hover #child {
  display: block;
}

Use conditional CSS to set display: block as the default in IE7 and below. 使用条件CSS设置display: block是IE7及更低版本中的默认设置。

This can actually be done with pure css, here is a simple example: 这实际上可以用纯CSS完成,这是一个简单的示例:

HTML: HTML:

<div id='outer'>
    <div id='button'>
        <!-- your element here -->
    </div>
    <div id='popup'>
        <!-- your popup menu here -->
    </div>
</div>

CSS: CSS:

#popup {
    visibility:hidden;
}

#outer:hover #popup {
    visibility:visible;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM