From 738187e2b54b62d65e8b5eb6ec4d620419e7de8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E9=9B=AA=E8=8A=AC?= <2878756581@qq.com> Date: Sat, 2 Nov 2024 15:04:33 +0800 Subject: [PATCH] 1028 --- ...7\224\273&flex\345\270\203\345\261\200.md" | 301 ++++++++++++++++++ 1 file changed, 301 insertions(+) create mode 100644 "\351\273\204\351\233\252\350\212\254/20241028-\345\212\250\347\224\273&flex\345\270\203\345\261\200.md" diff --git "a/\351\273\204\351\233\252\350\212\254/20241028-\345\212\250\347\224\273&flex\345\270\203\345\261\200.md" "b/\351\273\204\351\233\252\350\212\254/20241028-\345\212\250\347\224\273&flex\345\270\203\345\261\200.md" new file mode 100644 index 0000000..84c1d67 --- /dev/null +++ "b/\351\273\204\351\233\252\350\212\254/20241028-\345\212\250\347\224\273&flex\345\270\203\345\261\200.md" @@ -0,0 +1,301 @@ +## 动画 +动画是CSS3中具有颠覆性的特征,可通过设置**多个节点** 来精确控制一个或一组动画,常用来实现**复杂**的动画效果。 +### 1、定义动画的步骤 +1. 通过@keyframes定义动画; +2. 将这段动画通过百分比,分割成多个节点;然后各节点中分别定义各属性; +3. 在指定元素里,通过 `animation` 属性调用动画。 + +```javascript + 定义动画: + @keyframes 动画名{ + from{ 初始状态 } + to{ 结束状态 } + } + + 调用: + animation: 动画名称 持续时间; +``` + +其中,animation属性的格式如下: + +```javascript + animation: 定义的动画名称 持续时间 执行次数 是否反向 运动曲线 延迟执行。(infinite 表示无限次) + + animation: move1 1s alternate linear 3; + + animation: move2 4s; +``` + +### 2、动画属性 +(1)动画名称: + +```javascript + animation-name: move; +``` + +(2)执行一次动画的持续时间: + +```javascript + animation-duration: 4s; +``` + +备注:上面两个属性,是必选项,且顺序固定。 + +(3)动画的执行次数: + +```javascript + animation-iteration-count: 1; //iteration的含义表示迭代 +``` + +属性值`infinite`表示无数次。 + +(3)动画的方向: + +```javascript + animation-direction: alternate; +``` + +属性值:normal 正常,alternate 反向。 + +(4)动画延迟执行: + + +```javascript + animation-delay: 1s; +``` + +(5)设置动画结束时,盒子的状态: + +```javascript + animation-fill-mode: forwards; +``` + +属性值: forwards:保持动画结束后的状态(默认), backwards:动画结束后回到最初的状态。 + +(6)运动曲线: + +``` + animation-timing-function: ease-in; +``` + +属性值可以是:linear ease-in-out steps()等。 + +注意,如果把属性值写成**` steps()`**,则表示动画**不是连续执行**,而是间断地分成几步执行。我们接下来专门讲一下属性值 `steps()`。 + +### steps()的效果 +有了属性值 `steps()`,我们就可以作出很多不连续地动画效果 + +**step()举例:**时钟的简易模型 + +```html + + +
+ +