空间转换
平面转换是2D,而空间转换是3D:
平面转换:分X轴,Y轴
空间转换:分X轴,Y轴,Z轴

空间位移
语法:
transform:translate3d(x,y,z)

transform:translateX(值)
transform:translateY(值)
transform:translateZ(值)

取值(正负均可):

  • 像素单位数值
  • 百分比

注意:默认情况设置X,Y,Z是不会达到预期效果

perspective属性实现透视

属性(添加给父级)

  • perspective:值;
  • 取值:像素单位数值,数值一般在800 - 1200(值越小,效果越明显;值越大,效果越不明显)
  • 透视距离也称为视距,所谓的视距就是人的眼睛到屏幕的距离(视觉效果)

空间旋转
使用rotate实现元素空间旋转效果

语法:

  • transform:rotateZ(值);相当于平面内旋转
  • transform:rotateX(值); 相当于平面为轴(横),由外到内
  • transform:rotateY(值);相当于平面为轴(竖),由外向内

左手法则:
判断旋转方向:左手握住旋转轴,拇指指向正值方向,手指弯曲方向为旋转正值方向

拓展

  • rotate3d(x,y,z,角度度数):用来设置自定义旋转轴的位置及旋转的角度
  • x,y,z取值为0 - 1之间的数字

立体呈现
结合之前的perspective透视属性,是否能呈现立体图形?
答:不能,perspective只增加近大远小,近实远虚的视觉效果

实现方法:

  • 添加transform-style:preserve-3d;
  • 使子元素处于真正的3d空间
  • 默认值flat,表示子元素处于2D平面内呈现

示例
代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>立体呈现</title><style>.cube {position: relative;width: 200px;height: 200px;margin: 100px auto;background-color: pink;transition: all 2s;transform-style: preserve-3d;}.cube div {position: absolute;left: 0;top: 0;width: 200px;height: 200px;}.front {background-color: orange;line-height: 200px;text-align: center;/* 向我走近200px */transform: translateZ(200px);}.back {background-color: green;line-height: 200px;text-align: center;}/* cube hover 为了看空间感效果 */.cube:hover {transform: rotateY(90deg);}</style>
</head>
<body><div class="cube"><div class="front">橙色</div><div class="back">绿色</div></div>
</body>
</html>

效果图

空间缩放
语法

  • transform:scaleX(倍数);
  • transform:scaleY(倍数);
  • transform:scaleZ(倍数);
  • transform:scale3d(x,y,z);

动画

animation添加动画效果

过渡实现的效果:实现2个状态间的变化过程

动画效果:实现多个状态间的变化过程,动画过程可控(重复播放,最终画面,是否暂停)

动画本质:是快速切换大量图片时在人脑中形程的具有连续性的画面

构成动画的最小单元:帧或动画帧

动画的实现步骤
1.定义动画

@keyframes 动画名称 {
from {}
to {}
}

@keyframes 动画名称 {
0% {}
10% {}
15% {}
100% {}
}
注:百分比是指动画执行时间比

2.使用动画(写在要实现动画的主体里)
animation: 动画名称 动画花费时长;

示例:
代码如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>动画实现步骤</title><style>.box {width: 200px;height: 100px;background-color: pink;/* 使用动画 */animation: change 1s;}/* 一. 定义动画:从200变大到600 *//* @keyframes change {from {width: 200px;}to {width: 600px;}} *//* 二. 定义动画:200 到 500*300 到 800*500 *//* 百分比指的是动画总时长的占比 */@keyframes change {0% {width: 200px;}50% {width: 500px;height: 300px;}100% {width: 800px;height: 500px;}}</style>
</head>
<body><div class="box"></div>
</body>
</html>

分别使用两种方法的结果图如下

动画属性
animation: 动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向 执行完毕时状态

动画曲线:linear–>匀速,steps(次数)–>分步动画,infinite–>无限循环

动画方向:alternate–>实现动画往返

执行完毕时状态:(不可与alternate同时使用);backwards–>动画停留在最初的位置,forwards–>动画停留在结束的位置

注意:

  • 动画名称和动画时长必须赋值
  • 取值不分先后顺序
  • 如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间

属性拆开

使用steps实现逐帧动画

多组动画
语法
animation:
动画1,
动画2,
动画N

空间转换,动画的说明与使用》相关推荐

  1. CSS的补充(3 空间转换 动画)

    一.空间转换 属性 transform 语法 transform:translate3d(x,y,z) 透视 属性 perspective(添加给父级)视距,指人眼到屏幕的距离 取值 像素单位,数一般 ...

  2. 【CSS3】 平面转换 空间转换 动画

    目录 平面转换 平移 缩放 倾斜 旋转 transform复合属性 空间转换 空间位移 空间旋转 呈现立体图形 空间缩放 动画 动画属性 steps逐帧动画 多组动画 平面转换 CSS3中动画效果包括 ...

  3. 2.css动画(空间转换,动画)

    1空间转换 使用transform属性实现元素在空间内的位移.旋转.缩放等效果 空间:是从坐标轴角度定义的.x .y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同. 空间转换也叫3D转换 ...

  4. 浅学一点空间转换3D和动画知识

    一 . 空间转换3D 3D坐标系 3D坐标系比2D多了一个Z轴. 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大,是 ...

  5. CSS 空间转换3D和动画

    空间转换3D 3D坐标系 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大,是正值,否则反之 3D位移 完整写法 tr ...

  6. CSS——空间转换 和 动画

    一.空间转换 空间:x.y.z三个坐标轴,z轴和用户的视线在一条直线上,z轴的正轴指向用户自己:空间转换也叫3D转换:(不是网页开发重点.因为目前设计师追求简洁风,空间转换用得少) 属性:transf ...

  7. 空间转换 3D; 动画(重点)

    一.空间转换 3D 1.   3D坐标系 3D 坐标系比2D 多了一个Z轴. 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我 ...

  8. HTML里关于空间转换3D和动画效果的实现

    一.3D坐标系 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大,是正值,否则反之 3D 位移动 transform: ...

  9. 空间转换3D , 动画

    1.3d转换 1.认识坐标系 X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大,是正值,否则反之 2.3D位移写法 完整写法 transform: tr ...

  10. CSS空间转换和动画

    一.空间转换 3D 3D坐标系 3D 坐标系比2D 多了一个Z轴. 一定要记住3个坐标轴取值的正反: X 轴 往右越大,是正值, 否则反之 Y 轴 往下越大,是正值,否则反之 Z轴 (指向我们)越大, ...

最新文章

  1. 怎样创建两个菜单JAVA_java – 如何创建一个菜单的JButton?
  2. python装饰器函数执行后日志_python 装饰器理解
  3. Java并发(一)——线程
  4. mpvue解析富文本mpvue-wxParse
  5. 计算机学报模板百度云,《计算机学报》论文模版.
  6. ios游戏和android,20款最受好评的iOS和Android游戏
  7. 蓝牙芯片----BK3431开发笔记------RW stack中添加自定义服务教程(4)
  8. [UER #1] DZY Loves Graph
  9. 微信小程序之五星评分效果
  10. 详 mpls option a b c产生背景 及实验
  11. 【Java】环境搭建
  12. 虚幻4学习笔记(8)动手制作一个小游戏
  13. python去重计数_如何python快速实现数组的去重计数
  14. 未root手机 ida动态调试安卓so文件—— 学习实践 《教我兄弟学Android逆向09 IDA动态破解登陆验证》
  15. 华为交换机STP生成树协议
  16. 智能控制器,智能终端的“大脑” 要求升级,挑战即是机遇
  17. 【Window 硬件】U盘写保护 - 允许从U盘向电脑Copy资料,禁止从电脑向U盘拷贝资料
  18. golang延时_Go 定时器/延时触发器
  19. Linux系统编程 进程控制
  20. 集成IE11、补丁至win7原版镜像

热门文章

  1. RubyMine常用快捷键
  2. pycharm如何同时画两个图片
  3. 团队项目(2.2) -- 人脸检测和瞳孔检测
  4. 白话讲懂Cortex 内核中的AHB总线
  5. 前端js单元测试 使用mocha、chai、sinon,karma
  6. Linux高阶操作之全自动安装虚拟机
  7. Excel插件制作-面积图系列
  8. RocketMQ 消息负载均衡策略解析——图解、源码级解析
  9. iOS之iOS9新特性——__kindof
  10. 150家老字号现身故宫!文具、美食……还有啥?