0Pricing
CSS Academy · 课时

过渡属性、持续时间与时序

定义哪些属性参与过渡、过渡需要多长时间,以及通过 delay 何时开始。

过渡属性、持续时间与时序 是 CoddyKit 上的免费 CSS Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 CSS Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 CSS Academy 课程共包含 4 节课。

什么是 CSS 过渡

CSS 过渡会在属性值发生变化时,在指定时长内对两个属性值进行插值(例如悬停时)。无需使用 JavaScript。

transition-property

指定要进行动画处理的 CSS 属性。使用 all 可以对每个可进行动画处理的属性应用过渡,也可以列出具体属性。

  <button>Save changes</button>

transition-duration

设置过渡所需的时长。接受以秒(s)或毫秒(ms)表示的时间值。

  <div class="card">Card</div>

过渡简写属性

组合全部四个过渡子属性:property | duration | timing-function | delay。

  <button class="btn">Submit</button>

多个过渡

使用逗号分隔多个过渡,以便分别对不同属性进行动画处理:

  <div class="card">Card</div>

transition-delay

延迟过渡的开始时间。适合用于安排动画顺序,或让一个过渡完成后再开始另一个过渡。

  <nav>
    <a class="nav-item" href="#">Home</a>
    <a class="nav-item" href="#">About</a>
    <a class="nav-item" href="#">Contact</a>
  </nav>

在基础状态上设置过渡

始终将 transition 属性放在基础状态上,而不是 :hover 状态上。这样可以确保鼠标悬停进入和移出时都会播放过渡。

  <button class="btn demo-active">Hover me</button>

哪些属性可以设置过渡

大多数数值型 CSS 属性都可以设置过渡:颜色、尺寸、不透明度、变换等。离散属性(例如 display)无法进行平滑插值,只会瞬间切换。

transition: all 警告

使用 transition: all 可能会让您不打算设置动画的属性也产生意外动画。在生产代码中,请始终明确指定属性。

颜色过渡

颜色过渡会在不同颜色值之间进行插值。使用相同的颜色格式可以获得最佳效果:

  <button class="btn demo-active">Hover me</button>

过渡与布局抖动

出于性能考虑,应避免对 width、height、margin 和 padding 等会触发布局的属性设置过渡。它们会在每个动画帧都引发重新计算布局。请改用 transform 和 opacity。

快速检查

应将 transition 属性放在哪里,才能确保鼠标悬停进入和移出时都会播放过渡?

回顾

CSS 过渡使用 transition-property、duration、timing-function 和 delay,使属性变化在一段时间内平滑完成。将过渡放在基础状态上,以实现双向动画。出于性能和可预测性的考虑,应优先使用具体的属性列表,而不是 all。

常见问题解答

「过渡属性、持续时间与时序」课时是免费的吗?

是的 — 「过渡属性、持续时间与时序」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 CSS Academy 课程的其余内容,请升级到 CoddyKit PRO。 CSS Academy 课程共包含 4 节课。

「过渡属性、持续时间与时序」这节课中我会学到什么?

定义哪些属性参与过渡、过渡需要多长时间,以及通过 delay 何时开始。 你通过在浏览器中直接运行的动手代码来练习 CSS Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 CSS Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 CSS Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「过渡属性、持续时间与时序」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 CSS Academy 课中编写并运行代码吗?

能。每节 CSS Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 过渡属性、持续时间与时序
  2. 缓动函数:ease、linear、cubic-bezier
  3. 过渡多个属性
  4. 性能:可变换属性与触发重绘的属性
← 返回 CSS Academy