文章目录

前言

一、perspective属性和transform-style属性

二、transform之3d转换

transform之translate3d(x,y,z)平移

tranform之rotate3d(x, y, z, a)旋转;

tranform之scale3d(x, y, z)缩放

三、动画

1.简单说明

2.@keyframes属性

3. animation 属性

总结



前言

transform的3d转换和CSS3动画基本使用方法

  • transform可以3d转换的属性有平移、旋转、缩放
  • 空间坐标:是从坐标角度定义的,xyz三条坐标构成一个立体的空间。
  • x轴向左为负,向右为正;y轴向上为负,向下为正;z轴向屏幕内为负,向屏幕外为正
  • x轴是横向的,y轴是纵向的,而z轴则是直面我们的一条轴

一、perspective属性和transform-style属性

  • perspective属性是透视属性,设置其属性值;相当于视距,眼睛到屏幕的视距。通过透视属性才能够看清元素在Z轴的变化。(透视属性可以放在在其父元素上,才能看到其子元素的xyz轴的具体变化)
  • transform-style属性,转变样式,设置preserve-3d可以开启3d空间,其子元素就会受到3d空间的影响

二、transform之3d转换

  • transform之translate3d(x,y,z)平移

    • 在2d平移的x,y轴上添加了z轴,进行平移;可以拆分写tranlateX()、tranlateY()、tranlateZ()
  • tranform之rotate3d(x, y, z, a)旋转;

    • x、y、z分别代表旋转轴xyz的矢量方向(number数值 0-1),a则是旋转的角度。拆分写为rotateX(deg)、rotateY(deg)、rotateZ(deg)。需要开启透视才能查看旋转轴变化


      • x轴旋转效果:
        body{height: 100vh;display: flex;justify-content: center;align-items: center;/* 开启透视 */perspective: 100px; }.box{width: 200px;height: 200px;transition: .7s;background-color: pink;   }.box:hover{/* x轴旋转 */transform: rotateX(40deg);}


  • Y轴旋转效果
        body{height: 100vh;display: flex;justify-content: center;align-items: center;/* 开启透视 */perspective: 100px; }.box{width: 200px;height: 200px;transition: .7s;background-color: pink;   }.box:hover{/* y轴旋转 */transform: rotateY(40deg);}


  • z轴旋转效果
  •         body{height: 100vh;display: flex;justify-content: center;align-items: center;/* 开启透视 */perspective: 100px; }.box{width: 200px;height: 200px;transition: .7s;background-color: pink;   }.box:hover{/* z轴旋转 */transform: rotateZ(40deg);}

  • tranform之scale3d(x, y, z)缩放

    • x轴和y轴的缩放就是宽和高的效果,z轴比较特殊,需要配合旋转才能看见效果css代码
    • CSS代码
    • <style>*{margin: 0;padding: 0;}body{height: 100vh;display: flex;flex-direction: column;justify-content: center;align-items: center;perspective: 1000px;}.box1, .box2, .box3{width: 200px;height: 200px;background-color: lightcoral;margin: 30px 0;transition: .5s;}.box1:hover{transform: scaleX(1.5);}.box2:hover{transform: scaleY(1.5);}.box3:hover{transform: scaleZ(4) rotateX(80deg);}
      </style>
    • HTML代码
    • <body><div class="box1"></div><div class="box2"></div><div class="box3"></div>
      </body>
    • x轴缩放 效果图
    • y轴缩放 效果图
    • z轴缩放 效果图

三、动画

1.简单说明

  • 使用动画前需要先定义动画(@keyframes 动画名称),然后再使用动画(animation)

2.@keyframes属性

  • 使用@keyframes 动画名称,定义一个动画名称,然后再属性中添加动画样式from{}开始,to{}结束
  • 也可以使用百分比来定义动画内容0%{}开始,100%{}结束
    @keyframes move {0%{margin-left: 0px;}50%{margin-left: 50px;}100%{margin-left: 100px;}}

3. animation 属性

  • 定义好动画后,就该给指定的元素使用动画了。
  • animation:动画名称 持续时间 播放次数 可是播放 播放结束状态......,一般除了动画名称和动持续时间外,其他都可以省略。其余可以查阅css mdn文档
  •         .box{width: 100px;height: 100px;background-color: pink;animation: move 1s infinite;}
  • 效果图

总结

这些就是一些transform的3d转换和动画的基本使用方法,transform-style:preserve-3d在需要实现3d效果的父元素的css属性中添加即可

CSS3的transform之3d转换、CSS3动画相关推荐

  1. CSS3新特性——新增选择器,2D/3D转换,动画

    CSS3新特性--新增选择器,2D/3D转换,动画 欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页 ...

  2. 09.CSS3渐变、过渡、转换、动画

    CSS3渐变 (1).什么是渐变 CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果.但是,通过使用 CSS3 渐变(gradi ...

  3. CSS3渐变、过渡、转换、动画

    1.CSS3渐变 (1).什么是渐变 CSS3渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果.但是,通过使用CSS3渐变(gradie ...

  4. 六、CSS 速览 —— 平面转换、3D转换、动画

    平面转换.3D转换.动画 字体图标 iconfont 阿里图标库 从图标库引用素材 平面转换 transition: all 1s; 设置元素变换动画 transform: translate(px, ...

  5. CSS transform 2D/3D 转换对元素进行移动、缩放、转动、拉长或拉伸。

    transform 2D/3D转换, 对元素进行移动.缩放.转动.拉长或拉伸. 2D: translate() 通过 translate() 方法,元素从其当前位置移动,根据给定的 left(x 坐标 ...

  6. css3中的2D和3D转换、动画效果以及布局

    文章目录 一.2D转换: 1. 2D移动:translate().使用translate()函数,你可以把元素从原来的位置移动.移动参照元素左上角原点 2. 2D缩放: 3. 2D旋转: 4. 2D翻 ...

  7. CSS3 基本属性 浅析(含选择器、背景阴影、3D转换、动画等)

    1渐进增强原则 2私有前缀  不同浏览器在发布不同版本(一般测试版)时会加前缀,新增属性加上前缀进行支持测试:     Chrome浏览器:-webkit-border-radius: 5px;   ...

  8. CSS3新特性(属性选择器 、结构伪类选择器、2D/3D转换、动画、浏览器私有前缀)

    这里写目录标题 一.CSS3 属性选择器 二.CSS3 结构伪类选择器 三. CSS3 伪元素选择器 四.CSS3 2D转换 1.2D 转换之移动 translate 2.2D 转换之旋转 rotat ...

  9. web前端基础 html5+css3(十二.2D转换,动画,3D转换)

    一.2D转换 1.2D转换之移动translate (1)transform:translate(x,y); transform:translate(100px,100px); (2)transfor ...

最新文章

  1. 100教育:一场与信任赛跑的赌注
  2. 不管工作压力太大了,还是工作压力太小了;都容易引起开发人员的辞职风波...
  3. 自己编译redhat 9.0内核心得
  4. 深度学习之循环神经网络(7)梯度裁剪
  5. Linux内核启动去掉企鹅,修改linux内核kernel开机logo(小企鹅)
  6. 小白学数据分析-----数据指标 累计用户数的使用
  7. switch 语句编译报错Constant expression required
  8. uniapp image图片切换动效_谷歌设计团队发布了一款动效神器,让 UI 和动效无缝打通...
  9. visual stadio.net已检测到web服务器运行的不是asp.net1.1版故障的排除
  10. 下载网页中的html5视频之手动方法
  11. word模板文档替换,解决并发导致替换失败
  12. 工业级Pass云平台SpringCloudAlibaba综合项目实战(二):解决方案和工作效率
  13. python实现简单的词形统计
  14. 阿里巴巴与星巴克合作 AR场景识别首次大规模商用
  15. 分析问题的方法论—逻辑树法则
  16. 江苏智慧公厕:让厕所成为城市新名片
  17. [最新]5个OpenAI的密钥/接口key 5个可用的API KEY分享(免费使用)
  18. “福鼎一杯”:“一杯严选”与“茶人的栖息地”——见茶卸甲 | AiHi资讯
  19. 《关键对话》如何高效沟通,营造无往不利的事业和人生?
  20. 5万字用纯C语言从零开始实现人脸检测

热门文章

  1. java教务管理系统数据库设计_诚梦计算机毕业设计最新选题题目及程序
  2. autojs之excel
  3. 线速度与角速度的关系
  4. 在HTML中怎么去掉超链接(标签 a)的下划线?
  5. 统计学基础(假设检验、两个总体均值之差检验,独立样本t检验,配对样本t检验)
  6. VS2005+SQL2005
  7. npm与cnpm详解
  8. 最受欢迎的五大bug管理平台
  9. 不同类型的钻展图怎么设计?
  10. chrome android 中文版下载,Chrome浏览器安卓版