首页 >web前端 >前端问答 >css3中用什么来定义过渡动画的时间

css3中用什么来定义过渡动画的时间

青灯夜游
青灯夜游原创
2022-02-28 13:35:375102浏览

在css3中,可以使用transition-duration属性来定义过渡动画的时间,该属性可以规定完成过渡效果需要花费的时间(以秒或毫秒计),设置语法为“transition-duration: time;”。

css3中用什么来定义过渡动画的时间

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

在css3中,可以使用transition-duration属性来定义过渡动画的时间。

过渡简介

transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等。

CSS3 transition的过渡功能更像是一种“黄油”,通过一些CSS的简单动作触发样式平滑过渡。

1.过渡属性(transition-property) 定义转换动画的CSS属性名称

IDENT:指定的CSS属性(width、height、background-color属性等)

all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all

2.过渡所需的时间( transition-duration) 定义转换动画的时间长度

即从设置旧属性到换新属性所花费的时间,单位为秒(s)

3.过渡动画函数( transition-timing-function )

指定浏览器的过渡速度,以及过渡期间的操作进展情况,通过给过渡添加一个函数来指定动画的快慢方式

常见的过渡动画
ease:速度由快到慢(默认值)
linear:速度恒速(匀速运动)
ease-in:速度越来越快(渐显效果)
ease-out:速度越来越慢(渐隐效果)
ease-in-out:速度先加速再减速(渐显渐隐效果)

4.过渡延迟时间( transition-delay )

  • 指定一个动画开始执行的时间,当改变元素属性值后多长时间去执行过渡效果

  • 正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发

  • 负值:元素过渡效果会从该时间点开始显示,之前的动作被截断

  • 0:默认值,元素过渡效果立即执行

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>transition-property的使用</title>
    <style>
        div{
            background-color: red;
            width: 200px;
            height: 200px;
            /*指定动画过渡的CSS属性 过渡时间 过渡动画 延迟时间*/
            transition:  background-color 2s ease-in-out 3s;
            -moz-transition:  background-color 2s ease-in-out 3s;
            -webkit-transition:  background-color 2s ease-in-out 3s;
            -o-transition:  background-color 2s ease-in-out 3s;
        }
        div:hover{
            background-color: yellow;

        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

过渡的触发机制

如果没有鼠标移入的效果去触发过渡,其实div是不会发生任何变化的。伪类hover是触发过渡机制的一种。还有哪些触发方法呢?

  • 伪类触发::hover、:active、:focus、checked等。

  • 媒体查询:通过@media属性判断设备的尺寸,方向等。

  • JavaScript触发:用JavaScript脚本触发。

下面总结一下transition实现过渡动画的使用步骤:

(1)在默认样式中声明元素的初始状态样式。

(2)声明过渡元素最终状态样式,如悬浮状态。

(3)在默认样式中通过添加过渡函数,添加一些不同的样式。

(学习视频分享:css视频教程web前端入门教程

以上是css3中用什么来定义过渡动画的时间的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn