首先做出来的效果是怎么样的呢?
主要使用css3来实现旋转、缩放、阴影、动画等。静态的效果是这样的。
当鼠标移动到某张图片的时候,那张图片就会显示在其他图片上方,并且旋转角度变为0度(即显示在水平方向),并且放大倍数然后添加阴影效果。
技术点分析
1、使用transform属性来实现旋转和缩放功能
2、使用border-shadow属性来实现阴影功能
3、使用transform属性来实现动画效果(就是设置图片样式改变的过渡时间等)
4、使用绝对定位来定位每张照片的位置
ps:使用transform和transition时要注意浏览器兼容问题,所以应该这么写
-webkit-transform:rotate(0deg) scale(1.20);
-moz-transform:rotate(0deg) scale(1.20);
transform:rotate(0deg) scale(1.20);
制作步骤
1、每张照片的位置是不一样的,设置不同的top、left
2、每张照片有一定的旋转角度,设置不同的旋转角度
3、照片阴影及缓慢旋转、缓慢放大等特效制作
html源码(图片src自己修改)
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/main.css" type="text/css" rel="stylesheet">
<title>CSS3 transform旋转特效</title>
</head>
<body>
<h1>CSS3照片墙</h1>
<div class="container">
<img class="pic1" src="images/mm1.jpg">
<img class="pic2" src="images/mm2.jpg">
<img class="pic3" src="images/mm3.jpg">
<img class="pic4" src="images/mm4.jpg">
<img class="pic5" src="images/mm5.jpg">
<img class="pic6" src="images/mm6.jpg">
<img class="pic7" src="images/mm7.jpg">
<img class="pic8" src="images/mm8.jpg">
<img class="pic9" src="images/mm9.jpg">
<img class="pic10" src="images/mm10.jpg">
</div>
</body>
</html>
css源码
body{
background-color:#eee;
}
h1{
text-align:center;
}
.container{
width:960px;
height:450px;
margin:60px auto;
position:relative;
}
.container img{
padding:10px 10px 15px;
background:white;
border:1px solid #ddd;
box-shadow:2px 2px 3px rgba(50, 50, 50, 0.4);
-webkit-transition:all 0.5s ease-in;
-moz-transition:all 0.5s ease-in;
transition:all 0.5s ease-in;
position:absolute;
z-index:1;
}
.container img:hover{
box-shadow:15px 15px 20px rgba(50, 50, 50, 0.4);
-webkit-transform:rotate(0deg) scale(1.20);
-moz-transform:rotate(0deg) scale(1.20);
transform:rotate(0deg) scale(1.20);
z-index:2;
}
.pic1{
left: 400px;
top: 0;
-webkit-transform: rotate(-5deg);
-moz-transform: rotate(-5deg);
transform: rotate(-5deg);
}
.pic2{
top: 0;
left: 600px;
-webkit-transform: rotate(-20deg);
-moz-transform: rotate(-20deg);
transform: rotate(-20deg);
}
.pic3
{
bottom: 0;
right: 0;
-webkit-transform: rotate(5deg);
-moz-transform: rotate(5deg);
transform: rotate(5deg);
}
.pic4
{
bottom:0;
left:300px;
-webkit-transform: rotate(-10deg);
-moz-transform: rotate(-10deg);
transform: rotate(-10deg);
}
.pic5
{
bottom: 0;
left: 0;
-webkit-transform: rotate(-10deg);
-moz-transform: rotate(-10deg);
transform: rotate(-10deg);
}
.pic6
{
top: 0;
left:0;
-webkit-transform: rotate(10deg);
-moz-transform: rotate(10deg);
transform: rotate(10deg);
}
.pic7
{
top: 0;
left: 850px;
-webkit-transform: rotate(20deg);
-moz-transform: rotate(20deg);
transform: rotate(20deg);
}
.pic8
{
bottom: -20px;
right: 630px;
-webkit-transform: rotate(5deg);
-moz-transform: rotate(5deg);
transform: rotate(5deg);
}
.pic9
{
top: 90px;
left: 550px;
-webkit-transform: rotate(15deg);
-moz-transform: rotate(15deg);
transform: rotate(15deg);
}
.pic10
{
left:180px;
top:20px;
-webkit-transform: rotate(-10deg);
-moz-transform: rotate(-10deg);
transform: rotate(-10deg);
}
网友评论