美文网首页
如何使用css3实现照片墙?

如何使用css3实现照片墙?

作者: 毕安 | 来源:发表于2016-09-14 20:29 被阅读0次

    首先做出来的效果是怎么样的呢?
    主要使用css3来实现旋转、缩放、阴影、动画等。静态的效果是这样的。



    当鼠标移动到某张图片的时候,那张图片就会显示在其他图片上方,并且旋转角度变为0度(即显示在水平方向),并且放大倍数然后添加阴影效果。

    技术点分析

    1、使用transform属性来实现旋转和缩放功能
    2、使用border-shadow属性来实现阴影功能
    3、使用transform属性来实现动画效果(就是设置图片样式改变的过渡时间等)
    4、使用绝对定位来定位每张照片的位置

    ps:使用transform和transition时要注意浏览器兼容问题,所以应该这么写

    -webkit-transform:rotate(0deg) scale(1.20); 
    -moz-transform:rotate(0deg) scale(1.20); 
    transform:rotate(0deg) scale(1.20); 
    

    制作步骤

    1、每张照片的位置是不一样的,设置不同的top、left
    2、每张照片有一定的旋转角度,设置不同的旋转角度
    3、照片阴影及缓慢旋转、缓慢放大等特效制作

    html源码(图片src自己修改)

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <link href="css/main.css" type="text/css" rel="stylesheet">
        <title>CSS3 transform旋转特效</title>
    </head>
    
    <body>
        <h1>CSS3照片墙</h1>
        <div class="container">
            <img class="pic1" src="images/mm1.jpg">
            <img class="pic2" src="images/mm2.jpg">
            <img class="pic3" src="images/mm3.jpg">
            <img class="pic4" src="images/mm4.jpg">
            <img class="pic5" src="images/mm5.jpg">
            <img class="pic6" src="images/mm6.jpg">
            <img class="pic7" src="images/mm7.jpg">
            <img class="pic8" src="images/mm8.jpg">
            <img class="pic9" src="images/mm9.jpg">
            <img class="pic10" src="images/mm10.jpg">
        </div>
    </body>
    </html>
    

    css源码

    body{
        background-color:#eee;
    }
    
    h1{
        text-align:center;
    }
    
    .container{
        width:960px; 
        height:450px; 
        margin:60px auto; 
        position:relative;
    }
    
    .container 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;
        transition:all 0.5s ease-in; 
        position:absolute; 
        z-index:1;
    }
    
    .container img:hover{
        box-shadow:15px 15px 20px rgba(50, 50, 50, 0.4); 
        -webkit-transform:rotate(0deg) scale(1.20); 
        -moz-transform:rotate(0deg) scale(1.20); 
        transform:rotate(0deg) scale(1.20); 
        z-index:2;
    }
    
    .pic1{
        left: 400px; 
        top: 0; 
        -webkit-transform: rotate(-5deg); 
        -moz-transform: rotate(-5deg); 
        transform: rotate(-5deg);
    }
    
    .pic2{
        top: 0; 
        left: 600px; 
        -webkit-transform: rotate(-20deg); 
        -moz-transform: rotate(-20deg); 
        transform: rotate(-20deg);
    }
    
    .pic3
    {
        bottom: 0; 
        right: 0; 
        -webkit-transform: rotate(5deg); 
        -moz-transform: rotate(5deg); 
        transform: rotate(5deg);
    }
        
    .pic4
    {
        bottom:0; 
        left:300px; 
        -webkit-transform: rotate(-10deg); 
        -moz-transform: rotate(-10deg); 
        transform: rotate(-10deg);
    }
    
    .pic5
    {
        bottom: 0; 
        left: 0; 
        -webkit-transform: rotate(-10deg); 
        -moz-transform: rotate(-10deg); 
        transform: rotate(-10deg);
    }
    
    .pic6
    {
        top: 0; 
        left:0; 
        -webkit-transform: rotate(10deg); 
        -moz-transform: rotate(10deg); 
        transform: rotate(10deg);
    }
    
    .pic7
    {
        top: 0; 
        left: 850px; 
        -webkit-transform: rotate(20deg); 
        -moz-transform: rotate(20deg); 
        transform: rotate(20deg);
    }
    
    .pic8
    {
        bottom: -20px; 
        right: 630px; 
        -webkit-transform: rotate(5deg); 
        -moz-transform: rotate(5deg); 
        transform: rotate(5deg);
    }
    
    .pic9
    {
        top: 90px; 
        left: 550px; 
        -webkit-transform: rotate(15deg); 
        -moz-transform: rotate(15deg); 
        transform: rotate(15deg);
    }
    
    .pic10
    {
        left:180px; 
        top:20px; 
        -webkit-transform: rotate(-10deg); 
        -moz-transform: rotate(-10deg); 
        transform: rotate(-10deg);
    }
    

    相关文章

      网友评论

          本文标题:如何使用css3实现照片墙?

          本文链接:https://www.haomeiwen.com/subject/ojovettx.html