transition
CSS 中有一个transition
属性,能够监听某个 CSS 属性的变化,通过属性变化的控制,实现简单的动画效果:
transition CSS 属性是 transition-property,transition-duration,transition-timing-function 和 transition-delay 的一个简写属性。 —— 引用自 MDN
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.box {
width: 200px;
height: 50px;
line-height: 50px;
text-align: center;
color: #fff;
background: #000;
border-radius: 4px;
/* 使用 transition 侦听 CSS 属性变化 为其加上动画 */
transition: background 1s ease-in-out 0.2s, color 3s, width 5s;
}
.box:hover {
width: 400px;
color: #000;
background: #fff;
}
</style>
</head>
<body>
<div>
<div class="box">鼠标悬浮查看效果</div>
</div>
</body>
</html>
体验完了,现在来具体讲一下用法:
transition: transition-property | transition-duration |
transition-timing-function | transition-delay;
这样写你们估计看不懂,我们一条一条来拆解:
transition-property: background; /* 任何你需要侦听变化的 CSS 属性 */
transition-duration: 1s; /* 设定过渡动画的时长 */
transition-timing-function: ease-in-out; /* 设定过渡动画的效果 */
transition-delay: 0.2s; /* 设定触发动画的延迟 */
而transition
属性就是由上面的 4 条 CSS 属性组合而成。
第一第二个属性是必须项,用于指定侦听需要添加过渡动画的属性以及指定动画时长。
第三第四个属性为可选项,用于设定过渡动画的效果和延迟。
transition-timing-function
的可选值详见