码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 21-CSS中的3D属性


    文章目录

    • 一、什么是3D
    • 二、景深
    • 三、3D旋转
    • 四、3D缩放

    一、什么是3D

    2D场景是在屏幕上水平和垂直的交叉线x轴和y轴
    3D场景,是垂直于屏幕的方向,相对于3D多出个z轴
    Z轴:靠近屏幕的方向是正向,远离屏幕的方向是反向

    在这里插入图片描述

    CSS中的3D变换主要包括以下几个功能函数:

    • 3D位移:CSS3中的3D位移主要包括translateZ()和translate3d()两个功能函数
    • 3D旋转:CSS3中的3D旋转主要包括rotateX(),rotateY(),rotateZ()和rotate3d()四个功能函数
    • 3D缩放:CSS3中的3D缩放主要包括scaleZ()和scale3d()两个功能函数

    使用3D样式前必须在父盒子上加上以下属性:

    transform-style:preserve-3d;
    # flat 默认不写时为flat,表示2d
    
    • 1
    • 2

    二、景深

    3D环境中存在 近大远小 的特点
    通过设置"perspective:元素距离"来表示物体和眼睛的距离。物理和眼睛距离越小,远大近小的效果越明显

    设置方法:

    方法一:父盒子加:
    perspective:1200px;
    方法二:子盒子加:
    transform:perspective(1200px);
    
    • 1
    • 2
    • 3
    • 4

    通常使用方法一,在父盒子上设置景深(不设置表示无穷远,z轴移动看不出来效果),子盒子设置transformZ的移动才能看到近大远小的效果。
    通常设置perspective为900px

    当transformZ设置和perspective一样大时,相当于眼睛贴上去看,页面展示效果就是放满整个屏幕了

    transform:translateZ(100px);
    等价于:
    transform:translate3d(0,0,100px);
    
    • 1
    • 2
    • 3

    三、3D旋转

    transform:rotateX(30deg);
    transform:rotateY(30deg);
    transform:rotateZ(30deg);
    transform:rotate3d(0,2,1,30deg); #前面三个值表示倍数,表示沿着y轴旋转60deg,z轴30deg
    
    • 1
    • 2
    • 3
    • 4

    四、3D缩放

    两个写法:

    transform:scaleZ(10) rotateX(45deg);
    transform:scale3d(1,1,10) rotateX(45deg);
    
    • 1
    • 2

    在这里插入图片描述

    若想设置scaleZ属性必须满足以下条件 :

    #设置3d属性
    #使用前先设置景深
    #必须配合旋转才生效,否则看不出来有变化

  • 相关阅读:
    加入自定义函数共享output数组功能
    泰拉瑞亚EasyBuildMod便捷建造模组开发详细过程
    CENTURY模型可以模拟土壤呼吸吗?CENTURY模型实践技术应用与案例分析
    Java jdbc连接Oracle时出现ORA-28040: No matching authentication protocol报错
    笔记本电脑没有麦克风,声音无法找到输入设备
    Sonarqube-8.9版本测试单元测试覆盖率
    C语言第三十一弹---自定义类型:结构体(下)
    如何用个人数据Milvus Cloud知识库构建 RAG 聊天机器人?(上)
    idea 启动安卓项目,模拟器点击无反应
    使用VisualStudio2022制作安装包
  • 原文地址:https://blog.csdn.net/CapejasmineY/article/details/126218936
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号