炫酷CSS3鼠标hover动画特效

当前位置:主页 > CSS3库 > CSS3动画 > 炫酷CSS3鼠标hover动画特效
炫酷CSS3鼠标hover动画特效
分享:

    插件介绍

    这是一款通过CSS3动画制作的炫酷鼠标hover动画特效。该CSS3鼠标hover动画特效中,当鼠标hover图片时,图片的遮罩层从图片中间向两边展开,就像是拉开窗帘的效果,非常炫酷。

    浏览器兼容性

    浏览器兼容性
    时间:2018-02-06
    阅读:
小编推荐: 掘金是国内最活跃的技术社区,从 jQuery到vue,从前端教程到开源库,无论是入门还是进阶,来掘金你不会错过前端开发的任何一个技术干货。
简要教程

这是一款通过CSS3动画制作的炫酷鼠标hover动画特效。该CSS3鼠标hover动画特效中,当鼠标hover图片时,图片的遮罩层从图片中间向两边展开,就像是拉开窗帘的效果,非常炫酷。

使用方法

在页面中引入bootstrap.min.css和font-awesome.min.css文件。

<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/font-awesome.min.css" rel="stylesheet">
                
HTML结构

使用该CSS3鼠标hover动画特效的基本HTML结构如下:

<div class="container">
    <div class="row">
        <div class="col-md-4 col-sm-6">
            <div class="box">
                <img src="images/img-1.jpg" alt="">
                <div class="box-content">
                    <h3 class="title">标题</h3>
                    <ul class="icon">
                        <li><a href="#" class="fa fa-link"></a></li>
                        <li><a href="#" class="fa fa-search"></a></li>
                    </ul>
                    <p class="description">
                        描述文本
                    </p>
                </div>
            </div>
        </div>
        <div class="col-md-4 col-sm-6">
            <div class="box">
                <img src="images/img-2.jpg" alt="">
                <div class="box-content">
                    <h3 class="title">标题</h3>
                    <ul class="icon">
                        <li><a href="#" class="fa fa-link"></a></li>
                        <li><a href="#" class="fa fa-search"></a></li>
                    </ul>
                    <p class="description">
                        描述文本
                    </p>
                </div>
            </div>
        </div>
    </div>
</div>
                
CSS样式

然后为该CSS3鼠标hover动画特效添加下面的CSS样式代码。

.box{
    overflow: hidden;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    position: relative;
}
.box:before{
    content: "";
    background: #000;
    box-shadow: 0 0 20px #fff;
    position: absolute;
    top: 0;
    left: 50%;
    bottom: 0;
    right: 50%;
    z-index: 1;
    transition: all 0.3s ease-out 0.3s;
}
.box:hover:before{
    left: 0;
    right: 0;
    box-shadow: 0 0 0 #fff;
    transition-delay: 0s;
}
.box img{
    width: 100%;
    height: auto;
    transition: all 0.8s ease-out 0s;
}
.box:hover img{ opacity: 0.2; }
.box .box-content{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}
.box .title{
    padding: 25px;
    margin: 0;
    font-size: 24px;
    color: #fff;
    opacity: 0;
    transition: all 0.35s ease-out 0s;
}
.box .icon{
    list-style: none;
    padding: 0 25px;
    margin: 0;
    opacity: 0;
    transition: all 0.35s ease-out 0s;
}
.box .icon li{ display: inline-block; }
.box .icon li a{
    display: block;
    width: 35px;
    height: 35px;
    line-height: 35px;
    border-radius: 50%;
    background: transparent;
    text-align: center;
    font-size: 18px;
    color: #fff;
    margin-right: 10px;
    overflow: hidden;
    position: relative;
    transition: all 0.5s ease 0s;
}
.box .icon li a:after{
    content: "";
    width: 100%;
    height: 100%;
    background: #c92853;
    border-radius: 50%;
    position: absolute;
    top: -100%;
    left: 0;
    z-index: -1;
    transition: all 0.3s ease 0s;
}
.box .icon li a:hover:after{ top: 0; }
.box .description{
    padding: 25px 25px 25px 60px;
    margin: 0;
    font-size: 12px;
    color: #fff;
    letter-spacing: 1px;
    text-align: right;
    opacity: 0;
    position: absolute;
    bottom: 0;
    transition: all 0.35s ease-out 0s;
}
.box:hover .title,
.box:hover .icon,
.box:hover .description{
    opacity: 0.7;
    transition-delay: 0.3s;
}
@media only screen and (max-width:990px){
    .box{ margin-bottom: 30px; }
}                  
                

网友评论