CSS变形与动画(二):perspctive透视效果 与 preserve-3d 3d效果(奥运五环例子)

文章目录

    • [perspective 3d透视效果](#perspective 3d透视效果)
    • [preserve-3d 3d嵌套效果](#preserve-3d 3d嵌套效果)
      • [例子 奥运五环](#例子 奥运五环)
    • [backface-visibility 背面效果](#backface-visibility 背面效果)

perspective 3d透视效果

perspective 指定了观察者与 z=0 平面的距离,使具有三维位置变换的元素产生透视效果。z>0 的三维元素比正常大,而 z<0 时则比正常小,大小程度由该属性的值决定。

作用于在父级上。

preserve-3d 3d嵌套效果

相互可以视觉上 插入 和 覆盖

transform-style: preserve-3d; 也是用在父级

例子 奥运五环

通过每个环细微的旋转角度实现。

主要看各环之间的覆盖关系,这就是3d嵌套的效果。

css 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .mb{
            background: pink;
            height:600px;
            display: flex;
            justify-content: center;
        }
        .m{
            padding-top: 200px;
            width:360px;
            height: 200px;
            display: flex;
            flex-wrap: wrap;
            transform-style: preserve-3d;
        }
        .l{
            margin: 2px;
        }
        .l:nth-child(1){
            width:100px;
            height: 100px;
            border:7px solid blue;
            border-radius: 100%;
            transform: rotateX(-1deg) rotateY(-2deg);

        }
        .l:nth-child(2){
            width:100px;
            height: 100px;
            border:7px solid black;
            border-radius: 100%;
            transform: rotateX(-1deg) rotateY(-2deg);
        }
        .l:nth-child(3){
            width:100px;
            height: 100px;
            border:7px solid red;
            border-radius: 100%;
            transform: rotateX(-3deg) rotateY(-3deg);
        }
        .l:nth-child(4){
            width:100px;
            height: 100px;
            border:7px solid yellow;
            border-radius: 100%;
            position: relative;
            left:56px;
            bottom: 60px;
            transform: rotateX(0deg) rotateY(2deg);
        }
        .l:nth-child(5){
            width:100px;
            height: 100px;
            border:7px solid green;
            border-radius: 100%;
             position: relative;
            left:56px;
            bottom: 60px;
            transform: rotateX(2deg) rotateY(4deg);
        }
    </style>
</head>
<body>
    <div class="mb">
        <div class="m">
            <div class="l"></div>
            <div class="l"></div>
            <div class="l"></div>
            <div class="l"></div>
            <div class="l"></div>
        </div>
    </div>
</body>
</html>

backface-visibility 背面效果

backface-visibility: hidden; 背面不可见

相关推荐
CodeAI12 小时前
TailwindCSS 核心概念与实用技巧:从传统CSS到Utility-First迁移指南
css
沙振宇16 小时前
【Web】使用Vue3+PlayCanvas开发3D游戏(九)纹理视觉效果
前端·游戏·3d·纹理
Zldaisy3d17 小时前
日本东北大、武汉理工、上海交大 l 3D打印重塑下一代锂电池制造综述
3d·制造
kyle~18 小时前
FANUC机器人与3D相机网络连接冲突错误排查报告(Linux默认路由冲突)
数码相机·3d·机器人
CG_MAGIC18 小时前
Blender角色设计ChouChou
3d·blender·贴图·效果图·建模教程
乆夨(jiuze)19 小时前
记录一个css,实现下划线内容显示,支持文本多行显示
前端·css
xiaotao13119 小时前
CSS中的Grid 布局
前端·css
Hilaku20 小时前
做中后台业务,为什么我不建议你用 Tailwind CSS?
前端·css·代码规范
二进制person20 小时前
JavaEE进阶 --HTML+CSS+JavaScript 基础
javascript·css·html
fīɡЙtīиɡ ℡20 小时前
【SpringAi最新版入门(二)】
java·javascript·css·人工智能·css3