游乐游手机版
首页/前端开发/文章详情

CSS transition(过渡效果)详解

时间:2026-08-31 21:33
CSS transition 允许元素在指定时间内平滑地从一种样式过渡到另一种样式,无需依赖 JavaScript 或 Flash。本文详解 transition-property、transition-duration、transition-timing-function、transition-delay 及简写属性 transition 的语法与用法,提供完整代码示例与效果演示,帮助开发者快速掌握 CSS 过渡效果的核心机制与最佳实践。

CSS 默认会在属性值改变时立即更新样式,而 transition 提供了在指定时间内平滑过渡的能力。本文将逐一拆解 transition 的五个核心属性,结合可运行示例与效果演示,说明如何正确配置过渡参数、避免常见失效问题,并给出简写语法与多属性组合的最佳实践。

transition-property:指定参与过渡的属性

transition-property 用于声明哪些 CSS 属性会参与过渡效果。其语法如下:

transition-property: none | all | property;

  • none:没有任何属性参与过渡。
  • all:所有可过渡的属性都会参与过渡。
  • property:指定一个或多个属性名,多个属性之间用逗号分隔。

示例代码:

      

该示例中,仅 widthbackground 会在鼠标悬停时产生过渡效果,其他属性变化将立即生效。

transition-duration:控制过渡持续时间

transition-duration 决定过渡过程需要花费的时间,单位为秒(s)或毫秒(ms)。默认值为 0,若不显式设置,过渡效果将不会生效。

transition-duration: time;

当多个属性参与过渡时,可为每个属性单独指定时间,用逗号分隔;若只提供一个时间值,则所有属性共用该时长。

      

运行效果如下图所示:

transition-duration 属性演示

图:transition-duration 属性演示

transition-timing-function:设置过渡动画类型

transition-timing-function 控制过渡过程中的速度曲线,决定动画是匀速、先快后慢还是自定义节奏。可选值如下:

描述
linear以始终相同的速度完成整个过渡过程,等同于 cubic-bezier(0,0,1,1)
ease以慢速开始,然后变快,然后慢速结束的顺序来完成过渡过程,等同于 cubic-bezier(0.25,0.1,0.25,1)
ease-in以慢速开始过渡的过程,等同于 cubic-bezier(0.42,0,1,1)
ease-out以慢速结束过渡的过程,等同于 cubic-bezier(0,0,0.58,1)
ease-in-out以慢速开始,并以慢速结束的过渡效果,等同于 cubic-bezier(0.42,0,0.58,1)
cubic-bezier(n, n, n, n)使用 cubic-bezier() 函数来定义自己的值,每个参数的取值范围在 0 到 1 之间

示例代码:

      

transition-delay:设置过渡延迟时间

transition-delay 用于定义触发过渡后、实际开始执行前需要等待的时间,单位同样为秒或毫秒。

transition-delay: time;

示例代码:

      

运行效果如下图所示:

transition-delay 属性演示

图:transition-delay 属性演示

transition 简写语法与多属性组合

transition 是上述四个属性的简写形式,语法顺序如下:

transition: transition-property transition-duration transition-timing-function transition-delay;

其中 transition-propertytransition-duration 为必填项,后两项可省略。若需为不同属性配置不同的过渡参数,可使用逗号分隔多组值。

示例代码:

      

运行效果如下图所示:

transition 属性演示

图:transition 属性演示

上述简写等价于以下展开写法:

      

使用简写时需注意:若省略 timing-function 或 delay,浏览器会按默认值处理;多组参数必须严格对应,否则可能出现属性与时间错位的问题。建议在复杂过渡场景中优先使用展开写法,以提升可读性与维护性。

来源:https://m.biancheng.net/css3/transition.html
上一篇云服务器选型指南:配置、线路与系统选择 下一篇CSS 渐变色(颜色渐变)10分钟入门
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
HTML超链接标签详解:语法、属性与样式
前端开发 · 2026-08-31

HTML超链接标签详解:语法、属性与样式

本文系统讲解HTML中标签的语法结构、核心属性(href与target)及浏览器默认样式。通过代码示例与属性对照表,帮助开发者掌握链接目标设置、窗口打开方式控制及链接状态样式原理,为网页导航与交互开发提供基础依据。

CSS链接样式:4种伪类选择器详解与示例
前端开发 · 2026-08-31

CSS链接样式:4种伪类选择器详解与示例

本文详解CSS中用于控制链接样式的四种伪类选择器::link、:visited、:hover和:active。通过完整示例代码与运行效果演示,帮助开发者掌握链接状态样式的定义方法,并理解伪类书写顺序规则,避免样式覆盖问题。

CSS margin(外边距)属性详解与折叠机制
前端开发 · 2026-08-31

CSS margin(外边距)属性详解与折叠机制

本文系统讲解CSS margin属性的设置方法、取值规则与简写语法,重点剖析相邻兄弟元素与父子元素之间的外边距折叠机制。通过完整示例与图示,帮助开发者准确控制元素间距,避免布局错位,并补充现代CSS实践建议。

CSS计数器精讲:属性语法、嵌套用法与实战示例
前端开发 · 2026-08-31

CSS计数器精讲:属性语法、嵌套用法与实战示例

CSS计数器通过counter-reset、counter-increment和content属性实现纯CSS自动编号。本文详解初始化、自增、显示与嵌套逻辑,提供完整代码示例与注意事项,帮助开发者在不依赖JavaScript的情况下快速生成章节序号、列表编号等结构化内容。

CSS 渐变色(颜色渐变)10分钟入门
前端开发 · 2026-08-31

CSS 渐变色(颜色渐变)10分钟入门

本文系统讲解 CSS3 中的四种渐变类型:线性渐变、径向渐变、圆锥渐变及重复渐变。通过语法解析、参数说明与完整 HTML 示例代码,帮助开发者快速掌握渐变色的创建方法,并了解其在实际网页设计中的应用技巧。