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

现在的前端做的越来越炫酷了,各种特效让人眼花缭乱。
前几天逛网站的时候,看见有个照片墙的效果不错,就想着自己也做做看。
首先上图:
这里写图片描述

照片呈不规则的角度摆放,当鼠标放在照片上时,照片会放大;
鼠标离开照片时,照片回到原来的状态。
其实只要用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 防止被其他图片遮盖即可。

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

  • 13
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值