HTML5+CSS3实战(二)——照片墙效果

现在的前端做的越来越炫酷了,各种特效让人眼花缭乱。
前几天逛网站的时候,看见有个照片墙的效果不错,就想着自己也做做看。
首先上图:
HTML5+CSS3实战(二)——照片墙效果_第1张图片

照片呈不规则的角度摆放,当鼠标放在照片上时,照片会放大;
鼠标离开照片时,照片回到原来的状态。
其实只要用CSS3的一些属性完全就可以实现这样的效果,无须一行js代码~~

代码实现:

html代码部分的代码,就是一个div里放上几张图片而已。

<div class="images">
    class="pic pic1" src="images/photo/temo.jpg">
    class="pic pic2" src="images/photo/p2.jpg">
    class="pic pic3" src="images/photo/p3.jpg">
    class="pic pic4" src="images/photo/p5.jpg">
    class="pic pic5" src="images/photo/p4.jpg">
    class="pic pic6" src="images/photo/p6.jpg">
    class="pic pic7" src="images/photo/p7.jpg">
    class="pic pic8" src="images/photo/8.jpg">
    class="pic pic9" src="images/photo/9.jpg">
div>

样式表中的代码

.images{
    width: 960px;
    margin: 60px 60px 10px 40px;

    position: absolute;


}

.pic{
    width: 160px;
}

.images img:hover{
    box-shadow: 15px 15px 20px rgba(50,50,50,0.4);
    transform:rotate(0deg) scale(2.20);
    -webkit-transform:rotate(0deg) scale(1.20);
    z-index: 1000;
}

.images 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;
    -ms-transition: all 0.5s ease-in;
    -o-transition: all 0.5s ease-in;
    transition: all 0.5s ease-in;
    position: absolute;
    z-index: 1;
}

.pic1{
    left: 400px;
    top: 0;
    transform:rotate(-5deg);
    -webkit-transform:rotate(-5deg);
}

.pic2{
    left: 200px;
    top: 10px;
    transform:rotate(-20deg);
    -webkit-transform:rotate(-20deg);
}
.pic3{
    top: 220px;
    right: 80px;
    transform:rotate(5deg);
    -webkit-transform:rotate(5deg);
}

.pic4{
    top: 100px;
    left: 300px;
    transform:rotate(-10deg);
    -webkit-transform:rotate(-10deg);
}

.pic5{

    top: 20px;
    right: 150px;
    transform:rotate(-10deg);
    -webkit-transform:rotate(-10deg);
}
.pic6{
    left: 10px;
    top: 0;
    transform:rotate(10deg);
    -webkit-transform:rotate(10deg);
}

.pic7{
    left: 850px;
    top: 0;
    transform:rotate(20deg);
    -webkit-transform:rotate(20deg);
}
.pic8{
    bottom: -20px;
    top: 250px;
    transform:rotate(5deg);
    -webkit-transform:rotate(5deg);
}
.pic9{
    left: 550px;
    top: 90px;
    transform:rotate(15deg);
    -webkit-transform:rotate(15deg);
}

可以看到,主要设置position属性为absolute,然后使用left,top,right,bottom来设置图片的摆放位置;使用 transform:rotate(15deg)来设置图片的旋转角度。

.images img:hover{
    box-shadow: 15px 15px 20px rgba(50,50,50,0.4);
    transform:rotate(0deg) scale(2.20);
    -webkit-transform:rotate(0deg) scale(2.20);
    z-index: 1000;
}

在hover鼠标悬浮在图片上的事件中,设置transform:rotate(0deg) scale(2.20)图片缩放为原来的2.2倍,然后设置z-index 防止被其他图片遮盖即可。

就是这么简单!关于缩放的倍数和旋转的角度可以自行修改。图片的位置也可以自己调整。

你可能感兴趣的:(html5,css3,照片墙,HTML5+CSS3)