CSS3中transition属性值及含义

192 阅读2分钟

CSS3中transition属性值及含义

CSS3 的 transition 属性用于定义元素在不同状态之间切换时的过渡效果。它可以平滑地改变 CSS 属性的值,而不是瞬间变化。transition 是一个简写属性,包含以下四个子属性:

  1. transition-property

指定需要应用过渡效果的 CSS 属性。

值:

  • 属性名:如 widthheightopacity 等。
  • all:所有属性都应用过渡效果(默认)。

示例:

transition-property: width;
  1. transition-duration

指定过渡效果的持续时间。

值:

  • 时间值:如 1s(1 秒)、500ms(500 毫秒)。
  • 默认值0s(无过渡效果)。

示例:

transition-duration: 0.5s;
  1. transition-timing-function

指定过渡效果的时间曲线,即变化的速度模式。

值:

  • 预定义值
    • ease:慢快慢(默认)。
    • linear:匀速。
    • ease-in:慢到快。
    • ease-out:快到慢。
    • ease-in-out:慢快慢。
  • 贝塞尔曲线:如 cubic-bezier(0.42, 0, 0.58, 1)
  • steps():分步过渡,如 steps(4, end)

示例:

transition-timing-function: ease-in-out;
  1. transition-delay

指定过渡效果的延迟时间。

值:

  • 时间值:如 1s(1 秒)、500ms(500 毫秒)。
  • 默认值0s(无延迟)。

示例:

transition-delay: 0.2s;

简写语法

transition 属性可以简写为:

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

示例:

transition: width 0.5s ease-in-out 0.2s;

多属性过渡

可以为多个属性设置不同的过渡效果,用逗号分隔。

示例:

transition: 
  width 0.5s ease-in-out,
  height 0.3s linear,
  opacity 0.2s ease-in 0.1s;

完整示例

<!DOCTYPE html>
<html>
<head>
<style>
.box {
  width: 100px;
  height: 100px;
  background: red;
  transition: width 0.5s ease-in-out, height 0.3s linear;
}

.box:hover {
  width: 200px;
  height: 150px;
}
</style>
</head>
<body>

<div class="box"></div>

</body>
</html>

总结

属性含义示例值
transition-property指定过渡属性width, all
transition-duration指定过渡持续时间0.5s, 500ms
transition-timing-function指定过渡速度曲线ease, linear, cubic-bezier(0.42, 0, 0.58, 1)
transition-delay指定过渡延迟时间0.2s, 200ms

通过灵活使用 transition,可以为网页元素添加平滑的动画效果,提升用户体验。

更多vue相关插件及后台管理模板可访问vue admin reference,代码详情请访问github