1. 2D转换
2D 变换属性
下表列出了所有 2D 变换属性:
属性 | 描述 |
---|
transform | 向元素应用 2D 或 3D 转换。 | transform-origin | 允许你改变被转换元素的位置(设置元素转换的基点)。 |
CSS 2D 转换方法
函数 | 描述 |
---|
matrix(n,n,n,n,n,n) | 定义 2D 转换,使用六个值的矩阵。 | translate(x,y) | 定义 2D 转换,沿着 X 和 Y 轴移动元素。 | translateX(n) | 定义 2D 转换,沿着 X 轴移动元素。 | translateY(n) | 定义 2D 转换,沿着 Y 轴移动元素。 | scale(x,y) | 定义 2D 缩放转换,改变元素的宽度和高度。 | scaleX(n) | 定义 2D 缩放转换,改变元素的宽度。 | scaleY(n) | 定义 2D 缩放转换,改变元素的高度。 | rotate(angle) | 定义 2D 旋转,在参数中规定角度。 | skew(x-angle,y-angle) | 定义 2D 倾斜转换,沿着 X 和 Y 轴。 | skewX(angle) | 定义 2D 倾斜转换,沿着 X 轴。 | skewY(angle) | 定义 2D 倾斜转换,沿着 Y 轴。 |
matrix() 方法:
matrix() 方法把所有 2D 变换方法组合为一个。
matrix() 方法可接受六个参数,其中包括数学函数,这些参数使您可以旋转、缩放、移动(平移)和倾斜元素。
参数如下:
matrix(scaleX(),skewY(),skewX(),scaleY(),translateX(),translateY())
2. CSS 3D转换
CSS 转换属性
下表列出了所有 3D 变换属性:
属性 | 描述 |
---|
transform | 向元素应用 2D 或 3D 转换。 | transform-origin | 允许你改变被转换元素的位置。 | transform-style | 规定被嵌套元素如何在 3D 空间中显示。 | perspective | 规定 3D 元素的透视效果。 | perspective-origin | 规定 3D 元素的底部位置。(perspective-origin:50% 50%); | backface-visibility | 定义元素在不面对屏幕时是否可见。 |
CSS 3D 转换方法
函数 | 描述 |
---|
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) | 定义 3D 转换,使用 16 个值的 4x4 矩阵。 | translate3d(x,y,z) | 定义 3D 转化。 | translateX(x) | 定义 3D 转化,仅使用用于 X 轴的值。 | translateY(y) | 定义 3D 转化,仅使用用于 Y 轴的值。 | translateZ(z) | 定义 3D 转化,仅使用用于 Z 轴的值。 | scale3d(x,y,z) | 定义 3D 缩放转换。 | scaleX(x) | 定义 3D 缩放转换,通过给定一个 X 轴的值。 | scaleY(y) | 定义 3D 缩放转换,通过给定一个 Y 轴的值。 | scaleZ(z) | 定义 3D 缩放转换,通过给定一个 Z 轴的值。 | rotate3d(x,y,z,angle) | 定义 3D 旋转。 | rotateX(angle) | 定义沿 X 轴的 3D 旋转。 | rotateY(angle) | 定义沿 Y 轴的 3D 旋转。 | rotateZ(angle) | 定义沿 Z 轴的 3D 旋转。 | perspective(n) | 定义 3D 转换元素的透视视图。 |
3. CSS 过渡
CSS 过渡属性
下表列出了所有 CSS 过渡属性:
属性 | 描述 |
---|
transition | 简写属性,用于将四个过渡属性设置为单一属性。 | transition-delay | 规定过渡效果的延迟(以秒计)。 | transition-duration | 规定过渡效果要持续多少秒或毫秒。 | transition-property | 规定过渡效果所针对的 CSS 属性的名称。 | transition-timing-function | 规定过渡效果的速度曲线。 |
4. CSS 动画
CSS 动画属性
下表列出了 @keyframes 规则和所有 CSS 动画属性:
属性 | 描述 |
---|
@keyframes | 规定动画模式。 | animation | 设置所有动画属性的简写属性。 | animation-delay | 规定动画开始的延迟。 | animation-direction | 定动画是向前播放、向后播放还是交替播放。 | animation-duration | 规定动画完成一个周期应花费的时间。 | animation-fill-mode | 规定元素在不播放动画时的样式(在开始前、结束后,或两者同时)。 | animation-iteration-count | 规定动画应播放的次数(“infinite” 使动画永远持续下去)。 | animation-name | 规定 @keyframes 动画的名称。 | animation-play-state | 规定动画是运行还是暂停。 | animation-timing-function | 规定动画的速度曲线。 |
@keyframes 规则
@keyframes example {
from {background-color: red;}
to {background-color: yellow;}
}
div {
width: 100px;
height: 100px;
background-color: red;
animation-name: example;
animation-duration: 4s;
}
@keyframes example {
0% {background-color:red; left:0px; top:0px;}
25% {background-color:yellow; left:200px; top:0px;}
50% {background-color:blue; left:200px; top:200px;}
75% {background-color:green; left:0px; top:200px;}
100% {background-color:red; left:0px; top:0px;}
}
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
}
animation-direction 属性指定是向前播放、向后播放还是交替播放动画。
animation-direction 属性可接受以下值:
normal - 动画正常播放(向前)。默认值
reverse - 动画以反方向播放(向后)
alternate - 动画先向前播放,然后向后
alternate-reverse - 动画先向后播放,然后向前
指定动画的速度曲线
animation-timing-function 属性规定动画的速度曲线。
animation-timing-function 属性可接受以下值:
ease - 指定从慢速开始,然后加快,然后缓慢结束的动画(默认)
linear - 规定从开始到结束的速度相同的动画
ease-in - 规定慢速开始的动画
ease-out - 规定慢速结束的动画
ease-in-out - 指定开始和结束较慢的动画
cubic-bezier(n,n,n,n) - 运行您在三次贝塞尔函数中定义自己的值
指定动画的填充模式
CSS 动画不会在第一个关键帧播放之前或在最后一个关键帧播放之后影响元素。animation-fill-mode 属性能够覆盖这种行为。
在不播放动画时(在开始之前,结束之后,或两者都结束时),animation-fill-mode 属性规定目标元素的样式。
animation-fill-mode 属性可接受以下值:
none - 默认值。动画在执行之前或之后不会对元素应用任何样式。
forwards - 元素将保留由最后一个关键帧设置的样式值(依赖 animation- direction 和 animation-iteration-count)。
backwards - 元素将获取由第一个关键帧设置的样式值(取决于 animation- direction),并在动画延迟期间保留该值。
both - 动画会同时遵循向前和向后的规则,从而在两个方向上扩展动画属性。
动画简写属性
下例使用六种动画属性:
div {
animation-name: example;
animation-duration: 5s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
简写:
div {
animation: example 5s linear 2s infinite alternate;
}
|