用hover配合(纯css)position实现网页动态展示效果
网站建设 2023-01-28 20:49www.1681989.com免费网站
如上网页效果用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;
marg-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;
: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加position定位实现了弹出解释框的效果。但显然这不是我们想要的效果,关键在于如何使元素2覆盖到a标签上面来。在现代浏览器中很简单,我们给span设置z-dex属性便可
a:hover span{z-dex:1;}
现代浏览器中实现效果如下
这便是我们想要的效果,在ie6中…
可以看到万恶的ie6又不兼容了,显然z- dex没有起作用,那么怎么才能让元素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;
marg-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;
:5px;
z-dex: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实现了能够兼容的如本文开头的网页动态效果!
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销