CSS transition
属性用于在元素的某个属性发生变化时,创建平滑的过渡动画效果。它是一个简写属性,可以同时设置四个子属性:
-
transition-property :指定要过渡的CSS属性名称。可以是单个属性,也可以是多个属性,用逗号分隔。如果设置为
none
,则没有属性会获得过渡效果;如果设置为all
,则所有属性都将获得过渡效果;如果指定具体属性,则仅指定属性会获得过渡效果。 -
transition-duration :指定完成过渡效果需要的时间。可以以秒(s)或毫秒(ms)为单位。如果未设置此属性,则默认为0,表示没有过渡效果。
-
transition-timing-function :指定过渡效果的速度曲线。常见的时间函数有
linear
(匀速)、ease
(渐入渐出)、ease-in
(加速渐入)、ease-out
(加速渐出)、ease-in-out
(加速渐入渐出)和cubic-bezier(...)
(自定义贝塞尔曲线)。 -
transition-delay :指定过渡效果何时开始。以秒(s)或毫秒(ms)为单位。如果未设置此属性,则默认为0,表示过渡效果立即开始。
示例
以下是一个简单的示例,展示了如何使用transition
属性来创建一个按钮在鼠标悬停时改变背景颜色的动画效果:
button {
padding: 1em 2em;
background: #fff;
transition: background 1s linear;
}
button:hover {
background: deeppink;
}
在这个示例中:
-
transition-property
被设置为background
,表示仅对背景颜色进行过渡。 -
transition-duration
被设置为1s
,表示过渡效果持续1秒。 -
transition-timing-function
被设置为linear
,表示过渡效果以匀速进行。 -
transition-delay
被设置为0
,表示过渡效果立即开始。
浏览器支持
transition
属性在大多数现代浏览器中都有很好的支持。以下是支持该属性的浏览器版本信息:
属性 | 浏览器支持情况 |
---|---|
transition | 所有现代浏览器 |
通过合理使用transition
属性,可以轻松地为网页元素添加平滑的动画效果,提升用户体验。