你的位置:首页 > 网页设计

[网页设计]img的hover事件闪动


今天给同学写一个相册照片鼠标浮动显示细节的效果,遇到了闪动的bug,也顺利解决,就写下来跟大家分享。

我使用的是‘标签:hover + 标签’的形式,如果使用jquery的mouseover、mouseout等事件,也可以参考此方法,原理一样。

分析:图片使用,然后使用div+span写入鼠标浮动要显示的文字和背景。如下代码:(会出现闪动)

html代码:

1 <img src="1.jpg">2 <div> 3   <span>图片1</span>4   <span>姓名</span>5 </div>

css代码:

 1 *{ 2   margin: 0; 3   padding: 0; 4 } 5 img,div{/*注意图片跟div大小要一致,位置要重合*/ 6   width: 200px; 7   height: 200px; 8 } 9 div{/*设置好div位置后,设为隐藏*/10   background-color: rgba(242, 242, 242, 0.7);11   position: absolute;12   margin-top: -203px;13   display: none;14 }15 /*出现bug位置*/16 img:hover + div{/*鼠标浮动到img,让后面紧跟的div的display样式改为显示block*/17   display: block;18   cursor: pointer;19 }20 span{21   display: inline-block;22   margin-bottom: 15px;23   margin-left: 70px;24 }25 span:nth-of-type(1){26   margin-top: 50px;27 }

思考鼠标浮动的流程,是鼠标一到img上,div就显示,但是要注意,div显示以后,鼠标虽然看起来还在图片的区域内, 但是鼠标hover的元素已经变为出现的div,所以此时就会div继续回到display:none;,循环往复,就会不停闪动。
所以要加一个样式,就是鼠标浮动到div,也要修改div的display 样式为block。可以直接加入出现bug位置的代码(加‘,div : hover’),代码如下:

img:hover + div, div : hover{  display: block;  cursor: pointer;}

这样相片浮动效果就完美了~

如有错误,请您指正!




深圳两日游景点报价深圳旅游线路报价优惠深圳旅游必去景点是深圳去深圳旅游费用深圳旅游攻略2015自助游千泷沟大瀑布最佳旅游季节?从化千泷沟大瀑布什么时候去好玩? 千泷沟大瀑布门票含交通吗?从化千泷沟大瀑布观光车多少钱? 伦敦交响乐团 顶级乐章在这里奏响 2015增城白水寨三八妇女节好玩活动?白水寨3.8门票优惠多少? 南昌八大最美夜景地 一览灯火辉煌 高原明珠城 最美马尔康生态旅游节 最美风景线 318国道上的四川 星月对望 体验不可思议的奇妙观星地[四] 中秋节到东部华侨城有什么活动?深圳东部华侨城中秋活动? 如何打台湾电话? 2015东部华侨城月光茶宴什么时候?深圳东部华侨城月光茶宴时间? 荷花世界嫦娥大巡游活动时间?三水荷花世界嫦娥大巡游有什么好玩的? 全球唯一"十星级酒店"大揭秘 弱爆五星级 雅鲁藏布大峡谷好玩吗?怎么去? 2015高淳螃蟹节是什么时候?2015高淳螃蟹节攻略 雅鲁藏布大峡谷最佳旅游时间是什么时候? Q65110A9531 Datasheet Q65110A9531 Datasheet Q65110A9533 Datasheet Q65110A9533 Datasheet Q65110A9535 Datasheet Q65110A9535 Datasheet 迪拜旅游费用 迪拜旅游费用 迪拜旅游费用 去香港旅游要办什么手续 去香港旅游要办什么手续 去香港旅游要办什么手续 深圳动物园门票 深圳动物园门票 深圳动物园门票