css3-3Dbanner图

发布日期:2022-04-19 浏览次数:9

  3Dbanner旋转

  首先你得先构思出旋转体,一个正方体是六个面(因为这里不需要上下面,所以去掉,就只需要四个面),把正方体视为一个盒子模型(ul)

  然后在盒子下面有4个子元素(li),通过定位分别形成四个面。

  最后让ul盒子绕y轴旋转来过渡所看到得banner视图。

  过程中需要注意得:

  1、正方体盒子需要加上 transform-style: preserve-3d;是的其子元素以3d呈现

  2、perspective 属性定义 3D 元素距视图的距离,以像素计。该属性允许您改变 3D 元素查看 3D 元素的视图。(可加可不加。)

 html:

    <div class="banner">
        <ul>
            <li style="transform: translateZ(-200px)">
                <img src="https://www.qizcms.com/static/default/web/images/bannera.jpg"/>
            </li>
            <li style="transform:translateX(-50%) rotateY(90deg);">
                <img src="https://www.qizcms.com/static/default/web/images/bannerb.jpg"/>
            </li>
            <li style="transform: translateX(50%) rotateY(90deg);">
                <img src="https://www.qizcms.com/static/default/web/images/bannerc.jpg"/>
            </li>
            <li style="transform: translateZ(200px)">
                <img src="https://www.qizcms.com/static/default/web/images/bannera.jpg"/>
            </li>
        </ul>
    </div>

 css:

    .banner{
        width400px;
        height250px;
        positionrelative;
        margin100px auto 0;
        perspective1200px;
    }
    .banner ul {
        positionrelative;
        width400px;
        height250px;
        transform-stylepreserve-3d;
        transitionall 0.5s;
        transform-origin50% 50%;
        animation: rotY 5s ease-in-out infinite;
    }
    .banner ul li {
        list-stylenone;
        width400px;
        height250px;
        positionabsolute;
        left0;
        top0;
    }
    .banner ul li img {
        width100%;
        height100%;
    }
    @keyframes rotY {
        0%{ transformrotateY(0) }
        100%{ transformrotateY(360deg) }
    }
如果您有什么问题,欢迎咨询技术员 在线沟通