css3实现照片墙效果,鼠标悬浮时旋转放大并摆正

2019-09-10 郑州网站建设  

一张张照片散乱的撒在一起,鼠标悬浮时旋转放大并摆正,效果如下图(所有图片均来自网络),主要使用到的css3属性有:transition、transform(scale、rotateZ)、box-shadow以及z-index。

复制代码

代码如下:


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{margin:0;padding:0;}
html,body{background:#eee;}

/*设置场景居中*/
.wall{width:1000px;height:700px;position:fixed;top:50%;margin-top:-350px;left:50%;margin-left:-500px;}

/*设置图片绝对定位,方便设置放置的位置,并设置所有属性的过渡时间为0.2s*/
img{position:absolute;display:block;max-width:300px;max-height:300px;padding:10px 10px 20px;background:#fff;border:1px solid #ddd;-webkit-transition:0.2s;}

/*鼠标悬浮时设置大小放大到1.2倍,并摆正,即Z轴方向的旋转角度为0*/
img:hover{-webkit-transform:scale(1.2) rotateZ(0);box-shadow:10px 10px 5px #555;z-index:2;}

/*设置每个照片的位置和旋转角度*/
.img1{left:0;top:0;-webkit-transform:rotateZ(20deg);}
.img2{left:280px;top:0;-webkit-transform:rotateZ(5deg);}
.img3{left:470px;top:0;-webkit-transform:rotateZ(-10deg);}
.img4{left:720px;top:0;-webkit-transform:rotateZ(25deg);}
.img5{left:220px;top:200px;-webkit-transform:rotateZ(-2deg);}
.img6{left:830px;top:240px;-webkit-transform:rotateZ(-15deg);}
.img7{left:490px;top:190px;-webkit-transform:rotateZ(5deg);}
.img8{left:80px;top:430px;-webkit-transform:rotateZ(-5deg);}
.img9{left:290px;top:450px;-webkit-transform:rotateZ(5deg);}
.img10{left:510px;top:380px;-webkit-transform:rotateZ(-10deg);}
.img11{left:760px;top:500px;-webkit-transform:rotateZ(10deg);}
.img12{left:-100px;top:250px;-webkit-transform:rotateZ(-5deg);}
</style>
</head>
<body>
<div class="wall">
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img1"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img2"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img3"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img4"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img5"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img6"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img7"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img8"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img9"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img10"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img11"/>
<img src=http://www.divcss5.com/css3-style/"<a href=""></a>" alt="" class="img12"/>
</div>
</body>
</html>

本例子只兼容了webkit内核的浏览器,若要兼容其他内核的浏览器需要添加其他前缀(-moz-、-o-等)。

另外,本例子中使用的 rotateZ 属性的值的正负方向常使人发生混乱,在3D场景中,X轴正方向为水平向右,Y轴正方向为垂直向下,Z轴的正方向为垂直于屏幕向外,确定正方向之后只需要记住如下规则即可:从坐标原点出发,向着坐标轴的正方向看去,逆时针旋转时rotate(X/Y/Z)的值为正数,顺时针旋转时,rotate(X/Y/Z)值为负数。

效果特别棒,代码也很简单,主要是掌握好CSS3的几个属性,主要使用到的css3属性有:transition、transform(scale、rotateZ)、box-shadow以及z-index,有疑问请留言。大家共同进步


河南郑州做网站首选天择文化,我们专注郑州网站建设网站设计网站制作与开发,是中原地区专业的郑州网络公司,多年来我们一直努力,服务客户数百家,欢迎您的咨询。
本文链接:郑州网络公司http://tzchb.ieyo.com/dede/1917.html转载请标明出处,谢谢合作!
标签:
  • CSS3
  • 照片
  • 张张
  • Ч
  • 一起