使用css实现3D导航

使用css可以实现如下图的3D导航效果

 首先创建如下结构,三个首页与index并列的span标签

<body>
    <div class="nav">
        <ul>
            <li>
                <a href="">
                    <span>首页</span>
                    <span>index</span>
                </a>
            </li>
        </ul>
        <ul>
            <li>
                <a href="">
                    <span>首页</span>
                    <span>index</span>
                </a>
            </li>
        </ul>
        <ul>
            <li>
                <a href="">
                    <span>首页</span>
                    <span>index</span>
                </a>
            </li>
        </ul>
    </div>

</body>

需要实现首页在前index在后的效果需要用到父相子绝的定位效果,同时给li加上浮动

        .nav li a span {
            position: absolute;
            top: 0px;
            left: 0px;
            width: 100%;
            height: 100%;
            text-align: center;
            line-height: 40px;
        }
        ul {
            /*去除小圆点*/
            list-style: none;
            float: left;
            margin-right: 20px;
        }

此时因为css层叠性后面的盒子会顶上来,选中第一个span使其向前移动

        .nav li a span:first-child {
            background-color: green;
            transform: translateZ(20px);

        }

接下来开启3D效果,并设置字体样式,加上过渡效果

        a {
            position: relative;
            display: block;
            text-decoration: none;
            color: #fff;
            width: 200px;
            height: 40px;
            font-size: 20px;
            transform-style: preserve-3d;
            transition: all 2s;
        }

给a加上hover使其翻转,同时让后面的span反方向翻转同时向前移动

        .nav li a:hover {
            transform: rotateX(-90deg);
        }
        .nav li a span:last-child {
            transform: translateY(-20px) rotateX(90deg);
            background-color: aqua;
        }

大功告成!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值