[置顶] HTML5+CSS3实战(二)——照片墙效果

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

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

代码实现:

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

<div class="images">
    <img class="pic pic1" src="images/photo/temo.jpg">
    <img class="pic pic2" src="images/photo/p2.jpg">
    <img class="pic pic3" src="images/photo/p3.jpg">
    <img class="pic pic4" src="images/photo/p5.jpg">
    <img class="pic pic5" src="images/photo/p4.jpg">
    <img class="pic pic6" src="images/photo/p6.jpg">
    <img class="pic pic7" src="images/photo/p7.jpg">
    <img class="pic pic8" src="images/photo/8.jpg">
    <img 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,照片墙)