主线回顾
其他支线
支线一:影之殿堂 · 阴影与过渡魔法
支线二:浮空之域:布局法则深研
支线三 ·CSS炼金术:动画与变换高级奥义
支线四 ·响应圣坛:媒体查询与移动适配
支线五 ·CSS炼金续章:变量与暗黑主题术
支线六 ·CSS幻纹术:背景、遮罩与视觉层级
🎬 剧情设定:
在踏出织界幻层后,林昊来到了“动律之境”——一片被律动之风吹拂的土地。元素在空中跳跃旋转,界面像有生命般在缓缓伸展。
神秘的舞动者「流光行者·伊西娅」缓缓踏步而来,长袍边缘随着旋律漂浮:
“网页若无节奏,便如画卷静止。动律术,是让你作品呼吸、说话、跳舞的魔法。”
🌈 第一阶段:过渡(Transition)之门
伊西娅轻挥长袖,一颗按钮缓缓变色。
教学点:transition 属性
.button {
background-color: #3498db;
transition: background-color 0.3s ease;
}
.button:hover {
background-color: #2ecc71;
}
语法结构:
transition: [属性] [时长] [缓动函数] [延迟]
属性 | 含义 |
---|---|
transition-property | 要过渡的属性,如 background-color |
transition-duration | 动画时长 |
transition-timing-function | 节奏:ease, linear, ease-in-out, cubic-bezier(…) |
transition-delay | 延迟 |
可用 all 过渡所有支持动画的属性。
🌀 第二阶段:关键帧动画(@keyframes)
伊西娅释放旋转幻影,一张卡片旋转淡入:
@keyframes spinIn {
from {
transform: rotate(-360deg);
opacity: 0;
}
to {
transform: rotate(0);
opacity: 1;
}
}
应用动画:
.card {
animation: spinIn 1s ease-in-out;
}
语法结构: animation: [name] [duration] [timing] [delay] [iteration-count] [direction] [fill-mode] [play-state]
💡 动画常用属性
属性 | 含义 |
---|---|
animation-name | 关键帧名 |
animation-duration | 动画时长 |
animation-delay | 延迟 |
animation-iteration-count | 循环次数(如 infinite) |
animation-direction | 方向:normal, alternate |
animation-fill-mode | 动画前/后状态保留:forwards、both |
🧩 第三阶段:复杂动律 · 组合与触发
伊西娅示范幻舞场的开幕,按钮按下展开面板,动画控制复杂交互状态:
.panel {
max-height: 0;
overflow: hidden;
transition: max-height 0.5s ease;
}
.panel.open {
max-height: 300px;
}
通过 JS 控制类名:
btn.onclick = () => {
panel.classList.toggle("open");
};
使用 max-height、opacity、transform 等属性能创建更多可动画的 UI 行为。
✨ 第四阶段:微动效设计原则
流光行者语录:
- 节奏即情感:动画太快,急促;太慢,拖沓。
- 反馈即承诺:按钮点击需有即时反馈。
- 适可而止:动效不应喧宾夺主,辅助内容即可。
- 统一风格:全站动效节奏保持一致,构建体验“语感”。
🧪 魔法试炼任务
- 为按钮添加渐变背景的 hover 动效
- 设计一个通知条,从顶部淡入出现,并自动消失
- 制作一个加载动画,使用关键帧持续旋转或跳动元素
🎁 成就与奖励
伊西娅为林昊献上神器:动律灵轮,可将任意组件附上自然动势,让界面“有机”运作。
🔮 延伸方向建议
- 🔁 深入 cubic-bezier 创建自定义动效节奏
- 🧭 结合 JavaScript 控制动画播放、暂停、反转
- 📦 使用动画库如 Framer Motion(React)或 GSAP 进一步释放动效潜力
至此,林昊已掌握 CSS 的形、色、动之三大视觉奥义。
题外话
以终身学习为目标,先了解自己,再优化自己💪