CSS transition(过渡效果)是一种在CSS3中引入的功能,可以让元素在一段时间内平滑地从一个样式过渡到另一个样式,类似于简单的动画效果,但无需借助Flash或JavaScript。过渡效果可以应用于几乎所有CSS属性,包括颜色、大小、位置等。
过渡效果的实现主要依赖于以下四个属性:
transition-property
:用于指定应用过渡效果的CSS属性的名称。例如,如果你想让一个元素的颜色在鼠标悬停时发生变化,可以将transition-property
设置为"color"
。transition-duration
:用于指定过渡效果的持续时间。例如,如果你希望颜色变化的过渡效果在2秒内完成,可以将transition-duration
设置为"2s"
。transition-timing-function
:用于指定过渡效果的速度曲线。这个属性的值可以是以下之一:"linear"
(匀速)、"ease"
(慢速开始,然后加速,最后慢下来)、"ease-in"
(慢速开始)、"ease-out"
(慢速结束)或"ease-in-out"
(慢速开始和结束)。transition-delay
:用于指定过渡效果何时开始。例如,如果你希望过渡效果在鼠标悬停后1秒开始,可以将transition-delay
设置为"1s"
。
这些属性可以单独设置,也可以使用transition
简写属性一次性设置所有属性。例如:
css复制代码
|---|----------------------------------|
| | div {
|
| | transition: color 2s ease 1s;
|
| | }
|
在这个例子中,当鼠标悬停在<div>
元素上时,颜色将在2秒内平滑过渡,速度曲线为ease
,并且过渡效果将在1秒后开始。
CSS transition还支持同时对多个属性应用过渡效果。例如:
css复制代码
|---|-------------------------------------------------|
| | div {
|
| | transition: width 2s, height 2s, opacity 2s;
|
| | }
|
在这个例子中,当鼠标悬停在<div>
元素上时,宽度、高度和透明度将在2秒内平滑过渡。