一个比较常见的鼠标经过显示的交互动画,鼠标移动到指定位置,显示对应的内容。此案例为上方显示图片,也可以考虑放置二维码等,更多的内容可以自己去定义。
实现代码:
html代码如下:
<a class="code-float-display">鼠标移上显示图片
<span></span>
</a>
css代码如下:
.code-float-display{
display:inline-block;
margin:150px auto 0;
padding: 2px 6px;
height:30px;
line-height:30px;
border:1px solid #ddd;
text-align:center;
position:relative;
cursor:pointer;
}
.code-float-display span{
height:124px;
width:124px;
border:1px solid #ddd;
padding:2px;
background:url("qrcode.jpg") no-repeat center;
position:absolute;
top:-135px;
left:50%;
margin-left: -66px;
display:none;
}
.code-float-display:hover span{
display:block;
}
基本原理:
用的a标签的伪类hover实现的,当鼠标没有移动到a标签区块中时,span标签是隐藏的。当鼠标移动到了a标签区块中时,span标签将会以块状元素展示,这个时候,由于span标签是包含在a标签里面的,所以,必须通过position定位来控制调整span的位置。两者要居中对齐,可以根据一个作为参考,按left:50%调整到中间线,然后再根据容器宽度的一半调整负值,那么就对齐了。
这个效果主要考察了三方面的知识,一个是内联元素、块状元素,一个是绝对定位、相对定位,一个是伪类的使用。
另外再自己加上一些CSS3的动画过渡会更好,一起来尝试下吧~