前端Css3新特性之3D空间转换语法

1.三个轴的取值正反:

X 轴 往右越大,是正值, 否则反之

Y 轴 往下越大,是正值,否则反之

Z轴 (指向我们)越大,是正值,否则反之

2.3D位移

语法:

 transform: translate3d(x, y, z);

也可以分开写:

transform: translateX(100px);
transform: translateY(100px);
transform: translateZ(100px);

3.3D旋转 

语法:

  transform: rotateX(-90deg);    

  单位:deg(角度)、turn(圈)                    1turn=360deg

(1)rotateX  上下旋转

(2)rotateY  左右旋转

在透视的加持,3d旋转效果才会比较明显

透视的作用: 空间转换时,为元素添加近大远小、近实远虚的视觉效果

透视 perspective 注意事项:

1.取值范围大概在 800px ~ 1200px 之间

2.给元素的父级添加

tips:缩放 scale、倾斜 skew 和2D一样,就不在此赘述了

详细了解可以参考我的另一篇博客:https://mp.csdn.net/mp_blog/creation/editor/127405037

4.开启3D效果

语法:

transform-style: preserve-3d;

5.导航栏翻转demo参考代码:

<style>

        * {

            margin: 0;

            padding: 0;

        }

        .nav {

            width: 800px;

            margin: 200px auto;

            list-style: none;

        }

        .nav li {

            position: relative;

            float: left;

            margin-right: 20px;

            width: 120px;

            height: 50px;

        }

        .nav li a {

            /* 扩大选择范围 */

            display: block;

            /* 开启3d空间 */

            transform-style: preserve-3d;

            text-decoration: none;

            height: 100%;

            width: 100%;

            transition: all 1s;

        }

        /* 鼠标悬停后li从上往下旋转90度 */

        .nav li a:hover {

            transform: rotateX(-90deg);

        }

        .nav a span {

            position: absolute;

            top: 0;

            left: 0;

            height: 100%;

            width: 100%;

            color: #fff;

            text-align: center;

            line-height: 50px;

        }

        /* 绿色盒子要到前面来 */

        .nav a span:first-child {

            background-color: green;

            transform: translateZ(25px);

        }

        /* 橙色盒子在旋转前是垂直状态,从下往上旋转90度后卡在绿色盒子中间,再向上移自己宽度的一半 */

        .nav a span:last-child {

            background-color: orange;

            transform: translateY(-25px) rotateX(90deg);

        }

    </style>

<body>

    <ul class="nav">

        <li>

            <a href="#">

                <span>首页</span>

                <span>index</span>

            </a>

        </li>

        <li>

            <a href="#">

                <span>首页</span>

                <span>index</span>

            </a>

        </li>

        <li>

            <a href="#">

                <span>首页</span>

                <span>index</span>

            </a>

        </li>

    </ul>

</body>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值