动画与过渡的实现与区别

过渡:元素从一种形式转化成另一种形式添加的效果

不同点:过渡一定是需要触发事件的。比如鼠标的移入,移出(这里要写终止样式)

过渡的四点:(写在初始样式中)

  1. transition-property :width,background,height ; 要控制的属性名 transition-property,默认值all

  2. transition-duration: 2s,3s,5s; 完成过渡需要的时间,s,ms 1000ms=1s 必须要有

  3. transition-timing-function: linear,linear,ease; 过渡的速度曲线,不是必需,ease默认值

transition-delay: 500ms,300ms,500ms; 过渡延迟时间,s,ms

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过渡的四大要素</title>
    <style>
        .box{
            /* 开始的样式 */
            width: 100px;
            height: 100px;
            background: green;
            margin: 100px auto;

            /*多个属性逗号隔开*/
            /*要控制的css属性名*/
            transition-property:width,background,height ;
            /*完成过渡需要的时间*/
            transition-duration: 2s,3s,5s;
            /*过渡的速度曲线*/
            /*可以使ease慢-快-慢   linear匀速  ease-in慢-快 ease-out快-慢  ease-in-out慢-快-慢 cubic-bezier(n,n,n,n)是0-1*/
            transition-timing-function: linear,ease-out,ease;
            /*过渡延迟时间,s,ms*/
            transition-delay: 500ms,300ms,500ms;
               /*简写:css属性名 完成过渡的时间 速度曲线 延迟开始时间*/
            /*transition: width 2s 1s,height 3s,background 4s linear 1s; */
        }
        .box:hover{
            /* 结束的样式 */
            background: rgb(240, 16, 191);
            width: 500px;
            height: 300px;
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

动画:通过改变元素的样式给元素添加动画

animation:要绑定的动画名称 动画完成的时间 速度曲线 延迟开始时间 播放次数 轮流反向播放 保持最后状态

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动画初始</title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            background: red;
            margin: 100px auto; 
            /* animation:要绑定的动画名称 动画完成的时间 速度曲线 延迟开始时间 播放次数 轮流反向播放 保持最后状态 */
            animation: name 5s ;
        }
        /*@keyframes用于创建一个动画,动画名称自己设置*/
        @keyframes name {
            /*!*动画开始*!*/
            from{width: 100px;height: 100px;background: red;}
            /* 还可以添加关键帧     也可以没有*/
            50%{width: 200px;height: 300px;background: green;}
            /*!*动画结束*!*/
            to{width: 500px;height: 500px;background: blue;}  
        }
        /* animation-play-state规定动画播放(running)还是暂停(paused) */
        .box:hover{
            animation-play-state: paused;
        }

    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

区别:

1.过渡需要事件触发,动画不需要事件触发

2.过渡只有开始-结束,动画可以设置多个关键帧

详细属性值参考:

CSS3 transition 属性 | 菜鸟教程

CSS3 动画 | 菜鸟教程

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值