淘先锋技术网

首页 1 2 3 4 5 6 7

使用CSS3过渡,我们可以通过改变CSS属性来创建动画。

我们可以控制时间,从值到值。

例如,我们可以在一秒钟内将元素的颜色从白色更改为黑色。

下表列出了所有过渡属性:

  • transition -用于设置四个转换属性的简写属性
  • transition-delay - 指定过渡效果何时开始
  • transition-duration - 指定完成转换所需的秒数或毫秒数
  • transition-property - 指定转换所用的CSS属性的名称
  • transition-timing-function - 指定转换的速度曲线

创建动画

要使用CSS3过渡创建动画,我们必须指定两个值:

  • 更改CSS属性
  • 效果持续时间

以下代码为width属性添加了一个过渡效果,持续时间为2秒。

我们首先设置目标属性和持续时间。

div {
    -webkit-transition: width 2s; /* For Safari 3.1 to 6.0 */
    transition: width 2s;
}

如果未指定持续时间部分,则默认值为0,并且不会有转换。

我们必须触发属性变化。以下代码使用鼠标悬停事件触发元素上的动画。

div:hover {
    width: 300px;
}

这里是完整的源代码。将鼠标悬停在上面的div元素上,查看过渡效果。

<!DOCTYPE html>
<html>
<head>
<style> 
div {
    width: 100px;
    height: 100px;
    background: black;
    -webkit-transition: width 2s;
    transition: width 2s;
}

div:hover {
    width: 300px;
}
</style>
</head>
<body>

<div>Hi</div>

</body>
</html>

转换中的多个值

我们可以通过用逗号分隔属性来为多个CSS属性添加过渡效果。

<!DOCTYPE html>
<html>
<head>
<style> 
div {width: 100px;height: 100px;background: black;
    -webkit-transition:width2s,height2s, -webkit-transform2s;transition:width2s,height2s,transform2s;
}

div:hover {width: 200px;height: 200px;
    -webkit-transform: rotate(180deg);transform: rotate(180deg);
}
</style>
</head>
<body>
    <div>Hover me to see thetransitioneffect!</div>
</body>
</html>

上面的代码呈现如下:


属性描述CSS
transition-delay延迟转换前3
transition-duration设置转换的持续时间3
transition-property在过渡效果中设置CSS属性的名称3
transition-timing-function设置过渡效果的速度曲线3
transition设置四个过渡属性的速度属性3