css 动画

一、 transition 过渡

1. 属性

属性版本继承性描述
transitionCSS3复合属性。检索或设置对象变换时的过渡效果
transition-propertyCSS3检索或设置对象中的参与过渡的属性
transition-durationCSS3检索或设置对象过渡的持续时间
transition-timing-functionCSS3检索或设置对象中过渡的类型
transition-delayCSS3检索或设置对象延迟过渡的时间

2. 语法

transition: property duration timing-function delay;

二、 transform 变换

1. 属性

属性版本继承性描述
transformCSS3检索或设置对象的变换
transform-originCSS3检索或设置对象中的变换所参照的原点
transform-styleCSS3指定某元素的子元素是否位于三维空间内
perspectiveCSS3指定观察者与「z=0」平面的距离
perspective-originCSS3指定透视点的位置
backface-visibilityCSS3指定元素背面面向用户时是否可见

3d 效果(立体)

设置父元素的 transform-style

  • transform-style 不能与 overflow:hidden 一起用,可以把 overflow:hidden 设置在外层
transform-style: preserve-3d;

2. 语法

transform: none|transform-functions;
描述
none定义不进行转换。
matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵。
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n)定义 3D 转换,使用 16 个值的 4x4 矩阵。
translate(x,y)定义 2D 转换。
translate3d(x,y,z)定义 3D 转换。
translateX(x)定义转换,只是用 X 轴的值。
translateY(y)定义转换,只是用 Y 轴的值。
translateZ(z)定义 3D 转换,只是用 Z 轴的值。
scale(x,y)定义 2D 缩放转换。
scale3d(x,y,z)定义 3D 缩放转换。
scaleX(x)通过设置 X 轴的值来定义缩放转换。
scaleY(y)通过设置 Y 轴的值来定义缩放转换。
scaleZ(z)通过设置 Z 轴的值来定义 3D 缩放转换。
rotate(angle)定义 2D 旋转,在参数中规定角度。
rotate3d(x,y,z,angle)定义 3D 旋转。
rotateX(angle)定义沿着 X 轴的 3D 旋转。
rotateY(angle)定义沿着 Y 轴的 3D 旋转。
rotateZ(angle)定义沿着 Z 轴的 3D 旋转。
skew(x-angle,y-angle)定义沿着 X 和 Y 轴的 2D 倾斜转换。
skewX(angle)定义沿着 X 轴的 2D 倾斜转换。
skewY(angle)定义沿着 Y 轴的 2D 倾斜转换。
perspective(n)为 3D 转换元素定义透视视图。

三、 animation 动画

1. 属性

属性版本继承性描述
animationCSS3复合属性。检索或设置对象所应用的动画特效
animation-nameCSS3检索或设置对象所应用的动画名称
animation-durationCSS3检索或设置对象动画的持续时间
animation-timing-functionCSS3检索或设置对象动画的过渡类型
animation-delayCSS3检索或设置对象动画延迟的时间
animation-iteration-countCSS3检索或设置对象动画的循环次数
animation-directionCSS3检索或设置对象动画在循环中是否反向运动
animation-play-stateCSS3检索或设置对象动画的状态
animation-fill-modeCSS3检索或设置对象动画时间之外的状态

2. 语法

animation: name duration timing-function delay iteration-count direction;

3. @keyframes 自定义动画

语法

@keyframes animationname {keyframes-selector {css-styles;}}
描述
animationname必需。定义动画的名称。
keyframes-selector必需。动画时长的百分比。 合法的值:0-100%, from(与 0% 相同) to(与 100% 相同)
css-styles必需。一个或多个合法的 CSS 样式属性。

四、 animation.css 动画库

1. 下载

点击进入官网下载animate.cssopen in new window

在官网里,可以Download Animate.css or View on GitHub

点击Download Animate.css后出现一大堆代码,你只需要 ctrl+a 全选, ctrl+c ,ctrl+v 复制到你本地的 css 文件中即可,当然,直接在github下载文件也行

2. 引入

把你下载的文件引入到你的项目中

<link rel="stylesheet" href="./css/animate.css" />

或使用使用在线 cdn

<link
  rel="stylesheet"
  href="https://unpkg.com/animate.css@3.5.2/animate.min.css"
/>

3. 使用

为元素添加类名即可使用.

使用 animated 动画效果必须添加 animated 类名,然后添加对应的动画效果类名,如 fadeIn .

|`
<div class="animated fadeIn">|`</div>

五、 gradient 渐变

linear-gradient() 线性渐变

1. 属性

属性描述
<angle>用角度值指定渐变的方向(或角度)。
to left:设置渐变为从右到左。相当于: 270deg
to right:设置渐变从左到右。相当于: 90deg
to top:设置渐变从下到上。相当于: 0deg
to bottom:设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。
<color-stop>用于指定渐变的起止颜色:
<color>指定颜色。
<length>用长度值指定起止色位置。不允许负值
<percentage>用百分比指定起止色位置。

2. 语法

|`<linear-gradient> = linear-gradient([ [ |`<angle> | to |`<side-or-corner> ] ,]? |`<color-stop>[, |`<color-stop>]+)

|`<side-or-corner> = [left | right] || [top | bottom]

|`<color-stop> = |`<color> [ |`<length> | |`<percentage> ]?

/* 例子 */
linear-gradient(#fff, #333);
linear-gradient(to bottom, #fff, #333);
linear-gradient(to top, #333, #fff);
linear-gradient(180deg, #fff, #333);
linear-gradient(to bottom, #fff 0%, #333 100%);

radial-gradient() 径向渐变

1. 属性

属性描述
<position>确定圆心的位置。如果提供 2 个参数,第一个表示横坐标,第二个表示纵坐标;如果只提供一个,第二值默认为 50%,即 center
<percentage>用百分比指定径向渐变圆心的横坐标值。可以为负值。
<length>用长度值指定径向渐变圆心的横坐标值。可以为负值。
left:设置左边为径向渐变圆心的横坐标值。
center:设置中间为径向渐变圆心的横坐标值。
right:设置右边为径向渐变圆心的横坐标值。
<percentage>用百分比指定径向渐变圆心的纵坐标值。可以为负值。
<length>用长度值指定径向渐变圆心的纵坐标值。可以为负值。
top:设置顶部为径向渐变圆心的纵坐标值。
center:设置中间为径向渐变圆心的纵坐标值。
bottom:设置底部为径向渐变圆心的纵坐标值。
<shape>确定圆的类型
circle:指定圆形的径向渐变
ellipse:指定椭圆形的径向渐变。
<extent-keyword> circle | ellipse都接受该值作为 size
closest-side:指定径向渐变的半径长度为从圆心到离圆心最近的边
closest-corner:指定径向渐变的半径长度为从圆心到离圆心最近的角
farthest-side:指定径向渐变的半径长度为从圆心到离圆心最远的边
farthest-corner:指定径向渐变的半径长度为从圆心到离圆心最远的角
<circle-size>circle 接受该值作为 size
<length>用长度值指定正圆径向渐变的半径长度。不允许负值。
<ellipse-size>ellipse 接受该值作为 size
<length>用长度值指定椭圆径向渐变的横向或纵向半径长度。不允许负值。
<percentage>用百分比指定椭圆径向渐变的横向或纵向半径长度。不允许负值。
<color-stop>用于指定渐变的起止颜色:
<color>指定颜色。
<length>用长度值指定起止色位置。不允许负值
<percentage>用百分比指定起止色位置。不允许负值

2. 语法

/* 例子 */
radial-gradient(circle, #f00, #ff0, #080);
radial-gradient(circle at center, #f00, #ff0, #080);
radial-gradient(circle at 50%, #f00, #ff0, #080);
radial-gradient(circle farthest-corner, #f00, #ff0, #080);
Last Updated:
Contributors: zerojs