导航栏3D翻转效果

有这样一种效果,导航栏上面的导航内容可以实现立体翻转的效果,这是怎样实现的呢?这是基于css动画属性实现的。
前提:忘了这个属性的具体内容的点击下方链接可以查看
css的transform属性:https://www.runoob.com/cssref/css3-pr-transform.html

实现效果:

image.png

当鼠标滑过时:

image.png

主要用到的知识点:

1.transform-style:指定元素在怎样的空间呈现

有两个值 :
1.1 flat:在2维平面呈现
1.2 preserve-3d:在3维空间呈现

2.transform-origin:设置元素的运动基点,也就是参照点,默认是元素中心

整体构思:

每个li中放两个span , 最先展示前面的span ,当鼠标滑过的时候,前面的span沿着x轴向下翻转90度,后面的span沿着x轴向上翻转90度。

代码实现:

/*css*/
   <style>
        *{
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .nav{
            width: 800px;
            height: 40px;
            margin: 100px auto;
            background: rgb(207, 216, 216);
        }
        .nav_left{
            content: "";
            display: block;
            clear: both;
        }
        li{
            height: 40px;
            float: left;
            transition: .5s;
          /*设置元素运动的基点,以顶部为参照点*/
            transform-origin: top;
        /*规定元素在2维呈现还是3维呈现*/
            transform-style: preserve-3d;
            margin-right: 10px;
           
        }
        .nav_front,.nav_back{
            display: block;
            width: 70px;
            height: 40px;
            line-height: 40px;
            text-align: center;
        }
        .nav_front{
            background: blue;
            color: #fff;
        }
        .nav_back{
           background: purple;
           color: aqua;
   /*3d旋转 绕着X轴旋转,旋转90度,向上翻*/
           transform:rotate3d(1,0,0,-90deg);
           transform-origin: top;
        }
        li:hover{
        /*3d旋转 绕着X轴旋转,旋转90度,向下翻*/
            transform:rotate3d(1,0,0,90deg)
        }
    </style>

页面

 <div class="nav">
        <ul class="nav_left">
            <li>
                <span class="nav_front">首页</span>
                <span class="nav_back">Home</span>
            </li>
            <li>
                <span class="nav_front">播放</span>
                <span class="nav_back">Play</span>
            </li>
            <li>
                <span class="nav_front">我们</span>
                <span class="nav_back">About</span>
            </li>
        </ul>
    </div>

最后:我目前没找到在简书中怎么加入视频的,现在看不了动态效果,如果哪位田螺姑娘/小哥知道怎么加入动图,可以留言教我一下,谢谢啦!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容