CSS hover实现多种块效果1
css有几种伪类是比较好用,可以简化我们的HTML代码 非常实际!
我们一般经常用的虚类就是:hover吧还有:after以及:befor这两种,你可以把它理解成一个隐藏的元素,需要的时候直接CSS设定属性让它出来,下面看看我用它实现的多种效果,很实际哦。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
*{
margin:0px;
padding: 0px;
}
.main{
width: 700px;
height: 800px;
margin:0 auto;
}
.main ul li{
float: left;
width: 200px;
height: 120px;
margin:10px;
list-style: none;
position: relative;
-webkit-transition-duration: 0.5s;
-ms-transition-duration:0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration:0.5s;
}
.main ul li img{
width: 100%;
height: 100%;
} .main .mask,ul li:before{
content:"";
position: absolute;
width: 100%;
height: 100%;
opacity: 0.6;
cursor: pointer;
background-color: rgb(0, 0, 0);
-webkit-transition-duration: 0.5s;
-ms-transition-duration:0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration:0.5s;
}
.main ul li:hover{
-webkit-transform: scale(1.2);
-webkit-box-shadow:0px 0px 30px #ccc;
-ms-transform: scale(1.2);
-ms-box-shadow:0px 0px 30px #ccc;
-moz-transform: scale(1.2);
-moz-box-shadow:0px 0px 30px #ccc;
-o-transform: scale(1.2);
-o-box-shadow:0px 0px 30px #ccc;
}
.img-1:hover:before{
height: 0%;
}
.img-2:hover:before{
height: 0%;
margin-top:60px;
}
.img-3:before{
opacity: 0;
display: none;
}
.img-3 .mask3{
width: 50%;
position: absolute;
top: 0px;
left: 0px;
height: 100%;
-webkit-transition-duration: 0.5s;
-ms-transition-duration:0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration:0.5s;
opacity: 0.6;
cursor: pointer;
background-color: rgb(0, 0, 0);
}
.img-3 .mask4{
width: 50%;
margin-left: 100px;
position: absolute;
top: 0px;
height: 100%;
-webkit-transition-duration: 0.5s;
-ms-transition-duration:0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration:0.5s;
opacity: 0.6;
cursor: pointer;
background-color: rgb(0, 0, 0);
}
.img-3:hover .mask3{
width:0%;
}
.img-3:hover .mask4{
margin-left: 200px;
width:0%;
}
.img-4:hover:before{
height: 0%;
width: 0%;
margin-top:60px;
margin-left: 100px;
}
.img-5:hover:before{
height: 0%;
width: 0%;
margin-top:60px;
margin-left: 100px;
-webkit-transform: rotateX(360deg);
-moz-transform: rotateX(360deg);
-o-transform: rotateX(360deg);
-ms-transform: rotateX(360deg);
}
.img-6:hover:before{
height: 0%;
width: 0%;
margin-top:60px;
margin-left: 100px;
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
-ms-transform: rotate(360deg);
}
</style>
</head>
<body>
<div class="main">
<ul>
<li class="img-1"> <!--用class控制-->
<!-- <div class="mask"></div>-->
<img src="img/111.jpg" alt="">
</li>
<li class="img-2">
<!-- <div class="mask"></div>-->
<img src="img/222.jpg" alt="">
</li>
<li class="img-3">
<div class="mask3"></div>
<div class="mask4"></div>
<img src="img/333.jpg" alt="">
</li>
<li class="img-4">
<!-- <div class="mask"></div>-->
<img src="img/444.jpg" alt="">
</li>
<li class="img-5">
<!-- <div class="mask"></div>-->
<img src="img/5555.jpg" alt="">
</li>
<li class="img-6">
<!-- <div class="mask"></div>-->
<img src="img/6666.jpg" alt="">
</li>
</ul>
</div>
</body>
</html>
.main .mask,ul li:before{
content:"";
position: absolute;
width: 100%;
height: 100%;
opacity: 0.6;
cursor: pointer;
background-color: rgb(0, 0, 0);
-webkit-transition-duration: 0.5s;
-ms-transition-duration:0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration:0.5s;
}
.main ul li:hover{
-webkit-transform: scale(1.2);
-webkit-box-shadow:0px 0px 30px #ccc;
-ms-transform: scale(1.2);
-ms-box-shadow:0px 0px 30px #ccc;
-moz-transform: scale(1.2);
-moz-box-shadow:0px 0px 30px #ccc;
-o-transform: scale(1.2);
-o-box-shadow:0px 0px 30px #ccc;
}
.img-1:hover:before{
height: 0%;
}
.img-2:hover:before{
height: 0%;
margin-top:60px;
}
.img-3:before{
opacity: 0;
display: none;
}
.img-3 .mask3{
width: 50%;
position: absolute;
top: 0px;
left: 0px;
height: 100%;
-webkit-transition-duration: 0.5s;
-ms-transition-duration:0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration:0.5s;
opacity: 0.6;
cursor: pointer;
background-color: rgb(0, 0, 0);
}
.img-3 .mask4{
width: 50%;
margin-left: 100px;
position: absolute;
top: 0px;
height: 100%;
-webkit-transition-duration: 0.5s;
-ms-transition-duration:0.5s;
-moz-transition-duration: 0.5s;
-o-transition-duration:0.5s;
opacity: 0.6;
cursor: pointer;
background-color: rgb(0, 0, 0);
}
.img-3:hover .mask3{
width:0%;
}
.img-3:hover .mask4{
margin-left: 200px;
width:0%;
}
.img-4:hover:before{
height: 0%;
width: 0%;
margin-top:60px;
margin-left: 100px;
}
.img-5:hover:before{
height: 0%;
width: 0%;
margin-top:60px;
margin-left: 100px;
-webkit-transform: rotateX(360deg);
-moz-transform: rotateX(360deg);
-o-transform: rotateX(360deg);
-ms-transform: rotateX(360deg);
}
.img-6:hover:before{
height: 0%;
width: 0%;
margin-top:60px;
margin-left: 100px;
-webkit-transform: rotate(360deg);
-moz-transform: rotate(360deg);
-o-transform: rotate(360deg);
-ms-transform: rotate(360deg);
}
</style>
</head>
<body>
<div class="main">
<ul>
<li class="img-1"> <!--用class控制-->
<!-- <div class="mask"></div>-->
<img src="img/111.jpg" alt="">
</li>
<li class="img-2">
<!-- <div class="mask"></div>-->
<img src="img/222.jpg" alt="">
</li>
<li class="img-3">
<div class="mask3"></div>
<div class="mask4"></div>
<img src="img/333.jpg" alt="">
</li>
<li class="img-4">
<!-- <div class="mask"></div>-->
<img src="img/444.jpg" alt="">
</li>
<li class="img-5">
<!-- <div class="mask"></div>-->
<img src="img/5555.jpg" alt="">
</li>
<li class="img-6">
<!-- <div class="mask"></div>-->
<img src="img/6666.jpg" alt="">
</li>
</ul>
</div>
</body>
</html>
浙公网安备 33010602011771号