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)

大家都在看

  • K8S的apiVersion版本详解

    1. 背景 Kubernetes的官方文档中并没有对apiVersion的详细解释,而且因为K8S本身版本也在快速迭代,有些资源在低版本还在beta阶段,到了高版本就变成了stab…

    Linux 2023年6月14日
    081
  • Docker部署

    部署Docker 1.部署docker相关 此章描述在新的服务器上安装docker容器。 1.1 概述 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apach…

    Linux 2023年6月7日
    0145
  • Ubuntu常用命令

    Ubuntu(18.04)下更改用户名和主机名 更改主机名字: (1)修改hostname文件 这个文件中的内容是用来显示主机名的,修改这个文件后,立刻重启 (2)修改hosts文…

    Linux 2023年6月13日
    089
  • /dev/random 和 /dev/urandom 的原理

    /dev/random 和 /dev/urandom 是 Linux 上的字符设备文件,它们是随机数生成器,为系统提供随机数 随机数的重要性 随机数在计算中很重要。 TCP/IP …

    Linux 2023年6月13日
    086
  • kali linux安装vulhub

    镜像下载、域名解析、时间同步请点击阿里云开源镜像站 Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞…

    Linux 2023年6月7日
    0108
  • nand

    nand flash裸机编程第001节_NAND_FLASH操作原理第002节_NandFlash时序及初始化第003节_NandFlash的芯片id读取第004节_NandFla…

    Linux 2023年6月13日
    076
  • OSI模型 TCP/IP协议

    系统中每打开一个程序,系统会自动分配一个端口号(0~65535) 端口号:来区分应用程序 网络层:传给哪台主机 加入ip地址(源发出去的地址 目:目的地址)选路 数据链路层:mac…

    Linux 2023年6月6日
    098
  • Docker基本命令

    第一次使用docker,从helle world开始 docker run hello-world 镜像的完整写法:[仓库地址/]镜像名[:版本号] –help 查看帮…

    Linux 2023年6月13日
    0109
  • Docker Manager for Kubernetes

    一、Kubernetes介绍 Kubernets是Google开源的容器集群系统,是基于Docker构建一个容器的调度服务,提供资源调度,均衡容灾,服务注册,动态伸缩等功能套件; …

    Linux 2023年6月14日
    085
  • 17-二分查找

    * import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class…

    Linux 2023年6月7日
    096
  • QLabel文字内容行间距

    故事背景:最近做项目升级,需要界面上展示升级更新内容,用QLabel展示,字符串是这样的”1、XXXXXXX;2、XXXXXXX;3、XXXXXXX”,一个…

    Linux 2023年6月13日
    0100
  • Golang 实现 Redis(9): 使用GeoHash 搜索附近的人

    本文是使用 golang 实现 redis 系列的第九篇,主要介绍如何使用 GeoHash 实现搜索附近的人。 搜索附近的POI是一个非常常见的功能,它的技术难点在于地理位置是二维…

    Linux 2023年5月28日
    0116
  • 常见的Redis面试”刁难”问题,值得一读

    字符串String、字典Hash、列表List、集合Set、有序集合SortedSet。 如果你是Redis中高级用户,还需要加上下面几种数据结构HyperLogLog、Geo、P…

    Linux 2023年5月28日
    090
  • 02-MySQL关键字、Select语句执行顺序

    SQL关键字 1、分页 MySQL的分页关键词是 limit SELECT * FROM student LIMIT 2,6:查询学生表中的数据,从第三条开始,显示6条数据 2、分…

    Linux 2023年6月7日
    087
  • mit 6.824 lab2A ,raft 领导人选举实现(lab2D中有关于此处大量代码修改,找出了很多错误)

    lab2 说明: https://pdos.csail.mit.edu/6.824/labs/lab-raft.html 参考博客: https://zhuanlan.zhihu….

    Linux 2023年6月7日
    0132
  • Redis分布式锁的使用与实现原理

    模拟一个电商里面下单减库存的场景。1.首先在redis里加入商品库存数量。 2.新建一个Spring Boot项目,在pom里面引入相关的依赖。 <dependency&gt…

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