照片墙的思路与实现
1.实现思路
*首先在html中插入图片,设置整个容器的整体大小,然后设置每个图片的宽度,并为它们添加边框边距等,设置成为相框的效果。
*然后为每个图片设置旋转角度,top,left等,此时每个图片都有了一定的倾斜度。
*最后制作鼠标悬浮效果,当鼠标放置时,使图片旋转角度为0,图片变大,并使其显示在最上层(可设置z-index实现),为其设置动画过渡效果。
2.代码实现
html如下:
<div class="container">
<img class="pic pic1" src="images/img1.jpg"/>
<img class="pic pic2" src="images/img2.jpg"/>
<img class="pic pic3" src="images/img3.jpg"/>
<img class="pic pic4" src="images/img4.jpg"/>
<img class="pic pic5" src="images/img5.jpg"/>
<img class="pic pic6" src="images/img6.jpg"/>
<img class="pic pic7" src="images/img7.jpg"/>
<img class="pic pic8" src="images/img1.jpg"/>
<img class="pic pic9" src="images/img2.jpg"/>
</div>
css如下:
*{
margin:0px;
padding:0px;
}
body{
background-color: #eeeeee;
}
.container{
width:900px;
height:450px;
margin:60px auto;
position: relative;
}
.pic{
width:160px;
}
.container img{
padding:10px 10px 10px 15px;
background-color: white;
border:1px solid #ddd;
box-shadow: 2px 2px 3px rgba(50,50,50,0.4);
z-index:1;
position: absolute;
-webkit-transition: all 0.5s ease-in;
-moz-transition: all 0.5s ease-in;
-ms-transition: all 0.5s ease-in;
-o-transition: all 0.5s ease-in;
transition: all 0.5s ease-in;
}
.container img:hover{
z-index:2;
box-shadow:15px 15px 20px rgba(50, 50, 50,0.4);
transform: rotate(0deg) scale(1.2);
-webkit-transform: rotate(0deg) scale(1.2);
}
.pic1{
left:400px;
top:0px;
transform: rotate(-5deg);
-webkit-transform: rotate(-5deg);
}
.pic2{
left:200px;
top:0px;
transform: rotate(-20deg);
-webkit-transform: rotate(-20deg);
}
.pic3{
right:100px;
bottom:100px;
transform: rotate(5deg);
-webkit-transform: rotate(5deg);
}
.pic4{
top:150px;
left:300px;
transform: rotate(-10deg);
-webkit-transform: rotate(-10deg);
}
.pic5{
bottom:0px;
top:0px;
transform: rotate(-10deg);
-webkit-transform: rotate(-10deg);
}
.pic6{
left:0px;
top:0px;
transform: rotate(10deg);
-webkit-transform: rotate(10deg);
}
.pic7{
left:850px;
top:0px;
transform: rotate(20deg);
-webkit-transform: rotate(20deg);
}
.pic8{
left:850px;
top:250px;
transform: rotate(5deg);
-webkit-transform: rotate(5deg);
}
.pic9{
left:550px;
top:90px;
transform: rotate(15deg);
-webkit-transform: rotate(15deg);
}
最终效果如图: