CSS3百叶窗式鼠标hover图片动画效果

CSS3百叶窗式鼠标hover图片动画效果

这是一款CSS3百叶窗式鼠标hover图片动画效果。该CSS3百叶窗式鼠标hover图片动画效果当鼠标移动到图片上时,通过伪元素来制作方块移动效果,形成百叶窗组合运动效果。

使用方法
在页面中引入bootstrap和font-awesome字体图标文件。

1
2
<link rel="stylesheet" href="path/to/bootstrap.min.css">
<link rel="stylesheet" href="path/to/font-awesome.min.css">

HTML结构
该CSS3百叶窗式鼠标hover图片动画效果的HTML结构如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<div class="container>
    <div class="
row>
        <div class="col-md-4 col-sm-6>
            <div class="
box>
                <img src="images/img-1.jpg>
                <div class="
box-content>
                    <div class="inner-content>
                        <h3 class="
title>Williamson</h3>
                        <span class="post>Web Developer</span>
                    </div>
                    <ul class="
icon>
                        <li><a href="#><i class="fa fa-search></i></a></li>
                        <li><a href="#><i class="fa fa-link></i></a></li>
                    </ul>
                </div>
            </div>
        </div>
        <div class="col-md-4 col-sm-6>
            <div class="
box>
                <img src="images/img-2.jpg>
                <div class="
box-content>
                    <div class="inner-content>
                        <h3 class="
title>Kristiana</h3>
                        <span class="post>Web Designer</span>
                    </div>
                    <ul class="
icon>
                        <li><a href="#><i class="fa fa-search></i></a></li>
                        <li><a href="#><i class="fa fa-link></i></a></li>
                    </ul>
                </div>
            </div>
        </div>
    </div>
</div>

CSS样式
然后通过下面的CSS代码来实现百叶窗式鼠标hover图片动画效果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
.box{
    text-align: center;
    overflow: hidden;
    position: relative;
}
.box img{
    width: 100%;
    height: auto;
    transform: scale(1.6);
    transition: all 0.3s ease 0s;
}
.box:hover img{
    filter: grayscale(100%);
    transform: scale(1.2);
}
.box .box-content{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    transition: all 0.2s ease 0s;
}
.box:before,
.box:after,
.box .box-content:before,
.box .box-content:after{
    content: "";
    width: 100%;
    height: 25%;
    background: linear-gradient(to right,rgba(0,0,0,0.9),rgba(0,0,0,0.7),transparent,rgba(0,0,0,0.7),rgba(0,0,0,0.9));
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    transition: all 0.3s ease 0s;
}
.box:before{ transform: translateX(100%); }
.box:after{
    height: 25.1%;
    top: 25%;
    transform: translateX(-100%);
    transition-delay: 0.05s;
}
.box .box-content:before{
    top: 50%;
    transform: translateX(100%);
    transition-delay: 0.1s;
}
.box .box-content:after{
    top: 75%;
    transform: translateX(-100%);
    transition-delay: 0.15s;
}
.box:hover:before,
.box:hover:after,
.box:hover .box-content:before,
.box:hover .box-content:after{ transform: translateX(0); }
.box .inner-content{
    padding: 7px 0;
    text-align: right;
    position: absolute;
    bottom: 10px;
    right: 20px;
    z-index: 2;
    transition: all 0.3s ease 0s;
}
.box .title{
    font-size: 22px;
    font-weight: 700;
    color: #faac01;
   letter-spacing: 1px;
    text-transform: uppercase;
    margin: 0 0 3px 0;
    opacity: 0;
    transform: translateY(150px);
    transition: all 0.4s ease 0s;
}
.box .post{
    display: inline-block;
    padding: 0 5px;
    font-size: 16px;
    font-style: italic;
    color: #fff;
   opacity: 0;
    transform: translateY(50px);
    transition: all 0.4s ease 0s;
}
.box:hover .title,
.box:hover .post{
    opacity: 1;
    transform: translate(0, 0);
}
.box .icon{
    padding: 0;
    margin: 0;
    list-style: none;
    position: absolute;
    top: -200px;
    left: 10px;
    z-index: 2;
    transition: all 0.4s ease 0.2s;
}
.box:hover .icon{ top: 15px; }
.box .icon li a{
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background: #faac01;
   font-size: 20px;
    color: #fff;
   margin-bottom: 10px;
    position: relative;
    transition: all 0.3s ease 0s;
}
.box .icon li a:hover{
    text-decoration: none;
    border-radius: 30%;
    background: #fff;
   color: #faac01;
}
@media only screen and (max-width:990px){
    .box{ margin-bottom: 30px; }
}
@media only screen and (max-width:479px){
    .box .title{ font-size: 18px }
}

文件信息:

    0

    发表评论