网页制作 
首页 > 网页制作 > 浏览文章

用hover配合(纯css)position实现网页动态展示效果

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )

用hover配合(纯css)position实现网页动态展示效果

如上网页效果用js很容易实现,但用纯css实现此动态功能,意在加深对hover和position定位的理解。与大家分享,欢迎指正。

可以看到,这种效果底层是a标签,hover状态中凭空弹出一个解释框,我们称为元素2。那么要想让元素2实现弹出效果而且不影响底层a标签的排布,显然应该用相对定位。因此确立了hover配合position的基本方法。我们以a标签为相对定位的基准,代码如下:

css

复制代码代码如下:
a{
display:block;
height:30px;
width:30px;
background-color:green;
float:left;
margin-left:10px;
position:relative;
}
a span{
display:hidden;
}
a:hover{
background-color:red;
}
a:hover span{
width:100px;
height:50px;
background-color:yellow;
display:block;
position:absolute;
left:35px;
top:5px;
}

html

复制代码代码如下:
<body>
<a href="###"><span></span></a>
<a href="###"><span></span></a>
<a href="###"><span></span></a>
</body>

实现的效果如下图所示(黄色span为元素2,绿色为a标签,a标签hover时为红色):

用hover配合(纯css)position实现网页动态展示效果

可以看到,hover加position定位实现了弹出解释框的效果。但显然这不是我们想要的效果,关键在于如何使元素2覆盖到a标签上面来。在现代浏览器中很简单,我们给span设置z-index属性便可:

a:hover span{z-index:1;}

现代浏览器中实现效果如下:

用hover配合(纯css)position实现网页动态展示效果

这便是我们想要的效果,但是在ie6中…

用hover配合(纯css)position实现网页动态展示效果

可以看到万恶的ie6又不兼容了,显然z- index没有起作用,那么怎么才能让元素2覆盖a标签呢,经过大量实验我发现,元素2用来定位的基准标签的兄弟标签是会覆盖元素2的。例如上图,第三个 a标签覆盖了元素2,是因为元素2是以第二个a标签为基准定位的。找到原因,那么解决这个兼容问题也很容易,只需在a标签内再嵌套一个标 签<em>,我们让元素2以<em>为基准定位,就会发现a标签不能再覆盖元素2了(虽然<em>还是会覆盖元素 2,但em是空标签,而且可以设为隐藏,因此无影响)。代码如下:

css

复制代码代码如下:
a{
display:block;
height:30px;
width:30px;
background-color:green;
float:left;
margin-left:10px;
}
a em{
display:block;
height:30px;
width:30px;
position:relative;
}
a span{
display:hidden;
}
a:hover{
background-color:red;
}
a:hover span{
width:100px;
height:50px;
background-color:yellow;
display:block;
position:absolute;
left:35px;
top:5px;
z-index:1;
}

html

复制代码代码如下:
<body>
<a href="###"><em><span></span></em></a>
<a href="###"><em><span></span></em></a>
<a href="###"><em><span></span></em></a>
</body>

 这样在ie6中也能完美运行了,最终通过纯css实现了能够兼容的如本文开头的网页动态效果!
上一篇:css实现图片圆角 兼容所有浏览器实现代码
下一篇:怎么用纯CSS制作带小三角的tooltip提示框
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。