2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

HTML5 第三天

一、 认识 3D 转换
  1. 3D 的特点

  2. 近大远小

  3. 物体和面遮挡不可见

  4. 三维坐标系

  5. x 轴:水平向右 — 注意:x 轴右边是正值,左边是负值

  6. y 轴:垂直向下 — 注意:y 轴下面是正值,上面是负值
  7. z 轴:垂直屏幕 — *注意:往外边的是正值,往里面的是负值

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03
二、3D 转换
  1. 3D 转换知识要点

  2. 3D 位移: translate3d(x, y, z)

  3. 3D 旋转: rotate3d(x, y, z)
  4. 透视: perspctive
  5. 3D呈现 transfrom-style

  6. 3D 移动 translate3d

  7. 3D 移动就是在 2D 移动的基础上多加了一个可以移动的方向,就是 z 轴方向

  8. transform: translateX(100px):仅仅是在 x 轴上移动
  9. transform: translateY(100px):仅仅是在 y 轴上移动
  10. transform: translateZ(100px):仅仅是在 z 轴上移动
  11. transform: translate3d(x, y, z):其中x、y、z 分别指要移动的轴的方向的距离
  12. *注意:x, y, z 对应的值不能省略,不需要填写用 0 进行填充

  13. 语法

 transform: translate3d(x, y, z)
  1. 代码演示
transform: translate3d(100px, 100px, 100px)
/* 注意:x, y, z 对应的值不能省略,不需要填写用 0 进行填充 */
transform: translate3d(100px, 100px, 0)
三、透视 perspective
  1. 知识点讲解

  2. 如果想要网页产生 3D 效果需要透视(理解成 3D 物体投影的 2D 平面上)

  3. 实际上模仿人类的视觉位置,可视为安排一直眼睛去看
  4. 透视也称为视距,所谓的视距就是人的眼睛到屏幕的距离
  5. 距离视觉点越近的在电脑平面成像越大,越远成像越小
  6. 透视的单位是像素

  7. 知识要点

  8. 透视需要写在被视察元素的父盒子上面

  9. 注意下方图片
d:就是视距,视距就是指人的眼睛到屏幕的距离
z:就是 z 轴,z 轴越大(正值),我们看到的物体就越大

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03
  1. 代码演示
body {
  perspective: 1000px;
}
四、 translateZ
  1. translateZperspecitve 的区别

  2. perspecitve 给父级进行设置, translateZ 给 子元素进行设置不同的大小

五、 3D 旋转 rotateX

3D 旋转指可以让元素在三维平面内沿着 x 轴、y 轴、z 轴 或者自定义轴进行旋转

  1. 语法

  2. transform: rotateX(45deg) — 沿着 x 轴正方向旋转 45 度

  3. transform: rotateY(45deg) — 沿着 y 轴正方向旋转 45 度
  4. transform: rotateZ(45deg) — 沿着 z 轴正方向旋转 45 度
  5. transform: rotate3d(x, y, z, 45deg) — 沿着自定义轴旋转 45 deg 为角度

  6. 代码案例

div {
  perspective: 300px;
}

img {
  display: block;
  margin: 100px auto;
  transition: all 1s;
}

img:hover {
  transform: rotateX(-45deg)
}
  1. 左手准则

  2. 左手的手拇指指向 x 轴的正方向

  3. 其余手指的弯曲方向就是该元素沿着 x 轴旋转的方向

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03
六、 3D 旋转 rotateY
  1. 代码演示
div {
  perspective: 500px;
}

img {
  display: block;
  margin: 100px auto;
  transition: all 1s;
}

img:hover {
  transform: rotateY(180deg)
}
  1. 左手准则

  2. 左手的拇指指向 y 轴的正方向

  3. 其余的手指弯曲方向就是该元素沿着 y 轴旋转的方向(正值)

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03
七、 3D 旋转 rotateZ
  1. 代码演示
div {
  perspective: 500px;
}

img {
  display: block;
  margin: 100px auto;
  transition: all 1s;
}

img:hover {
  transform: rotateZ(180deg)
}
  1. rotate3d

  2. transform: rotate3d(x, y, z, deg) — 沿着自定义轴旋转 deg 为角度

  3. x, y, z 表示旋转轴的矢量,是标识你是否希望沿着该轴进行旋转,最后一个标识旋转的角度
transform: rotate3d(1, 1, 0, 180deg) -- 沿着对角线旋转 45deg
transform: rotate3d(1, 0, 0, 180deg) -- 沿着 x 轴旋转 45deg
  1. 代码演示
div {
  perspective: 500px;
}

img {
  display: block;
  margin: 100px auto;
  transition: all 1s;
}

img:hover {
  transform: rotate3d(1, 1, 0, 180deg)
}
八、 3D 呈现 transform-style
  1. transform-style

  2. ☆☆☆☆☆

  3. 控制子元素是否开启三维立体环境
  4. transform-style: flat 代表子元素不开启 3D 立体空间,默认的
  5. transform-style: preserve-3d 子元素开启立体空间
  6. 代码写给父级,但是影响的是子盒子

  7. 代码演示

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body {
            perspective: 500px;
        }

        .box {
            position: relative;
            width: 200px;
            height: 200px;
            margin: 100px auto;
            transition: all 2s;
            /* 让子元素保持3d立体空间环境 */
            transform-style: preserve-3d;
        }

        .box:hover {
            transform: rotateY(60deg);
        }

        .box div {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: pink;
        }

        .box div:last-child {
            background-color: purple;
            transform: rotateX(60deg);
        }
    </style>
</head>

<body>

</body>

</html>

拓展阅读@

扫一扫下面的二维码,关注我们,获取更多精彩活动资讯,有好礼相送哦~

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

【腾讯云】618云上GO!云服务器限时秒杀,1核2G首年95元!

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

【华为云】特惠专区,多款产品限时特价!

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

【阿里云】上新必买抢先知,劲爆优惠不错过!

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

【七牛云】优惠专区,多款云产品限时抢购!

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

【又拍云】免费CDN专区,10G免费大放送!

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

【知识星球】一个资料分享的站点,各种学习资料,随时分享

2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

微信赞助; 微信打赏 支付宝打赏

免责声明:本文所有内容均为互联网上收集而来,仅供学习交流,整理文章为传播相关技术,如有侵权,请联系删除

Original: https://www.cnblogs.com/minvenus/p/Learning-webpage_html_css_3.html
Author: Destiny_Minvenus
Title: 2021年3月-第02阶段-前端基础-HTML+CSS阶段-Day03

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/586108/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 一篇文章带你全面读懂Android Backup

    前言 手机等智能设备是现代生活中的重要角色,我们会在这些智能设备上做登录账户,设置偏好,拍摄照片,保存联系人等日常操作。这些数据耗费了我们很多时间和精力,对我们而言极为重要。 如果…

    Linux 2023年6月13日
    0128
  • url参数+,&,=,/等转义编码【转】

    问题描述 在使用postman发送请求时,url出现了有+,空格,/,?,%,#,&,= 等特殊符号,可能在转义之后导致服务器端无法获得正确的参数值。解决办法 将这些字符转…

    Linux 2023年6月8日
    069
  • linux命令__ln

    ln ln是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目…

    Linux 2023年6月7日
    094
  • MySQL-报错:Error when bootstrapping CMake:

    在进行MySQL的源码安装的时候,系统上找不到合适的C编译器,GCC忘了装,莫慌,直接 yum命令装上gcc,还有gcc-C++没装的话后面也会提示错误,一起装上,,, [root…

    Linux 2023年6月13日
    096
  • redis 基于SpringBoot Reids 的工具类

    redis 基于SpringBoot Reids 的工具类 package com.mhy.springredis.utils; import org.springframewor…

    Linux 2023年6月7日
    0106
  • cobbler的部署

    cobbler部署 //配置yum源 [root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://m…

    Linux 2023年6月13日
    082
  • springboot分析——与其他组件的整合(JPA规范/atomikos/redis)

    一:与JPA规范整合 jpa是一套orm的规范,提供api接口,hirebnate就是对jpa的一套实现,下面我们看看springboot如何 与jpa整合 1:添加依赖和配置 j…

    Linux 2023年5月28日
    0105
  • shell批量创建数据表的一个方法

    #!/bin/bash #批量新建数据表 #删除`符号,具体原因我也没搞懂 for i in {1..30};do mysql 地址 -u账号 -p密码 -e "use …

    Linux 2023年5月28日
    075
  • [LINUX] Arch Linux 硬盘拷贝式装系统+新增 home 分区

    前言 1. 实操 1.1 整个磁盘拷贝 1.2 创建 home 分区 1.3 修改 fstab 实现自动挂载 2. 涉及到的知识点 2.1 fstab 2.2 dd 命令 2.3 …

    Linux 2023年5月27日
    0172
  • ssh远程连接服务

    TCP/22 SSH 应用层协议 作用:远程连接设备, 方便操作 1、本地管理方式 安装系统、故障修复 2、远程连接的方式 centos7.x版本中的ssh默认是开启的,所以查看一…

    Linux 2023年6月7日
    078
  • [ Python ] 音视频剪辑

    https://www.cnblogs.com/yeungchie/ 视频 提取视频 from moviepy.editor import * 从 MP4 文件提取 video =…

    Linux 2023年6月7日
    085
  • Linux基础学习(三)

    [root@ct7 ~]# grep -vc “/sbin/nologin” /etc/passwd [root@ct7 ~]# grep -v “/sbin/nologin” /…

    Linux 2023年6月8日
    075
  • JPA作持久层操作

    JPA(Hibernate是jpa的实现) jpa是对实体类操作,从而通过封装好的接口直接设置数据库的表结构。虽然jpa可以直接通过编写java代码来操作数据库表结构,避免了sql…

    Linux 2023年6月7日
    0114
  • short, int, long, long long各个类型的范围

    类型名称 字节数 取值范围 signed char 1 -2^7 ~ 2^7-1 -128~+127 short int 2 -2^14 ~ 2^14-1 -32768~+3276…

    Linux 2023年6月8日
    071
  • 学习一下 SpringCloud (一)– 从单体架构到微服务架构、代码拆分(maven 聚合)

    一、架构演变 1、系统架构、集群、分布式系统 简单理解 (1)什么是系统架构? 【什么是系统架构?】 系统架构 描述了 在应用程序内部,如何根据 业务、技术、灵活性、可扩展性、可维…

    Linux 2023年6月11日
    085
  • k4t系统架构 & 部署最佳实践

    《kaiiit船长》 容器自动管理软件 (k4t,国产k8s) k4t系统架构 & 部署最佳实践 文档修订时间: 2021-11-20 关键词 : k4t kaiiit 船…

    Linux 2023年6月13日
    090
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球