HTML复习----css3---过渡,动画

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box1{
            width: 800px;
            height: 800px;
            background-color: silver;
            overflow: hidden;
        }
        .box1 div{
            width: 100px;
            height: 100px;
            margin-bottom: 100px;
            
        }
        .box2{
            background-color: #bfa;
            margin-left: 0;
            /* transition: all 2s; */
            /* 
                过渡
                    通过过渡可以指定一个属性发生变化时的切换方式
                    通过过渡可以创建一些非常好的效果,提升用户的体验
            */
            /* 
                transition-property:指定要执行过渡的属性  多个属性之间用逗号隔开;
                    如果所有属性都需要过渡,则使用all关键字
                注意过渡时必须是从一个有效数值向另一个有效数值进行过渡
            */
            /* transition-property: all; */

            /* 
                transition-duration:指定过渡效果的持续时间 ; 
                    时间单位 s 和 ms 1s = 1000ms
            */
            /* transition-duration: 2s; */

            /* 
                transition-timing-function: 过渡的时序函数; 
                    指定过渡执行的方式
                    可选值  ease 默认值,慢速开始,先加速再减速
                           linear 匀速
                           ease-in 加速运动
                           ease-out 减速运动
                           ease-in-out 先加速后减速
                           cubic-bezier() 贝塞尔曲线
                           steps() 分步执行过渡效果
                                可以设置第一个和第二个值
                                end , 在时间结束时开始执行过渡(默认值)
                                start  在时间开始时执行过渡
            */
            /* transition-timing-function: cubic-bezier(.25,.25,.25,.1); */
            /* transition-timing-function: steps(2,end); */


            /* 
                transition-delay:过渡效果的延迟  等待一段时间后在执行过渡w; 
            
            */
            /* transition-delay: 2s; */

            /* transition 可以同时设置过渡相关所有属性  只有一个要求,如果要写延迟,则两个时间中第一个是持续时间,第二个是延迟时间*/
            transition: 2s margin-left 1s;


        }
        .box3{
            background-color: orange;
            transition-property: all;
            transition-duration: 2s;
        }


        .box1:hover div{
            width: 200px;
            height: 200px;
            margin-left: 700px;
           
        }
    </style>
</head>
<body>
    <div class="box1">
        <div class="box2"></div>
        <div class="box3"></div>
    </div>
</body>
</html>

过渡

  通过过渡可指定一个属性发生百年华时的切换方式

  transition-property: 指定要执行过渡的属性  多个属性之间用逗号隔开

    如果所有属性都需要过渡,使用all关键字,注意过渡必须从一个有效数值向另一个有效数值进行过渡

  transition-duration   指定过渡效果的持续时间         时间单位s 和  ms    1s = 1000ms

  transition-timing-function  过渡的时序函数

    指定过渡执行的方式

    可选值    ease  默认值,慢速开始,先加速在减速

        linear 匀速

        ease-in 加速运动

        ease-out 减速运动

        ease-in-out 先加速后减速

        steps()分步执行过渡效果

          可以设置第一个和第二个值

          end   在时间计数是开始执行过渡(默认值)

          start 在时间开始时执行过渡

  transition-delay  过渡效果的延迟  等待一段时间后再执行过渡

  transition 可以同时设置过渡相关所有属性  只有一个要求如果要写延迟,两个时间中第一个是持续时间,第二个是延迟时间       /*

          transition: 2s margin-left 1s;

        */

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        .box1 {
            width: 800px;
            height: 800px;
            background-color: silver;
            overflow: hidden;
        }

        .box1 div {
            width: 100px;
            height: 100px;
            margin-bottom: 100px;
            margin-left: 10px;

        }

        .box2 {
            background-color: #bfa;

            /* 设置box2的动画 */
            /* animation: name ; 要对当前元素生效的关键帧的名字 */
            animation: test;

            /* animation-duration: 动画的执行时间; */
            animation-duration: 2s;

            /* animation-delay: ; 动画的延迟 */
            animation-delay: 2s;

            /* animation-timing-function: ease-in-out; */

            /* 
                animation-iteration-count: 动画执行的次数;
                    可选值 
                        次数 infinity 无限执行    
            */
            animation-iteration-count: 1;


            /*
                animation-diretion: normal;
                    指动画运行方向
                        默认值 normal 从from 到 to运行,每次都是一样
                               reverse 从 to 到 from 运行 每次都是一样
                               alternate 从 from 到 to 运行,重复执行动画时反向执行 
                               alternate-reverse 从 to 到 from 运行,重复执行动画时反向执行

             */
            /* animation-direction: alternate-reverse; */


            /* 
                animation-play-state: ; 设置动画的执行状态
                    可选值 running 默认值 动画执行
                           paused 动画暂停
             */
            /* animation-play-state: running; */

            /* 
                animation-fill-mode: ; 动画填充模式
                    可选值  none 默认值 动画执行完毕元素回到原来位置
                           forwords  动画执行完毕元素会停止在动画结束的位置
                           backwards 动画延迟等待时,元素就会处于开始位置
                           both 结合了forwards 和 backwards

            */          
            /* animation-fill-mode: both; */

            animation: test 2s 2 2s alternate;


        }











        .box1:hover div {
            animation-play-state: paused;

        }

        .box3 {
            background-color: orange;
            transition-property: all;
            transition-duration: 2s;
        }




        /* 
            动画和过渡类似,都是可以实现一些动态的效果,
                不同的是过渡需要在某个属性发生变化时触发
                动画可以自动触发动态效果
                
            设置动画效果,必须先要设置一个关键帧,关键帧设置了动画执行每一个步骤
        */
        @keyframes test {

            /* 表示动画的开始位置  也可以使用 0%代替*/
            from {
                margin-left: 0;
                background-color: #bfa;
            }

            /* 表示动画的结束位置  也可以使用 100%*/
            to {
                background-color: red;
                margin-left: 700px;
            }
        }
    </style>
</head>

<body>
    <div class="box1">
        <div class="box2"></div>

    </div>
</body>

</html>

 

animation:name; 要对当前元素生效的关键帧的名字

animation-duration 动画执行的时间

animation-delay 动画的延迟

animation-timing-function 动画的时序函数(值与过渡的值一样)

animation-itearation-count 动画执行的次数

    可选值    infinity 无限执行

animation-direction  normal  指动画运行方向

    默认值  normal 从from到to运行,每次都一样

        reverse  从to 到from运行 每次都一样

        alternate 从 from 到 to 运行 重复执行动画时反向执行

        alternate-reverse 从to到from运行,重复执行动画时反向执行

animation-play-state 设置动画的执行状态

    可选值  running  默认值  动画执行

        paused 动画暂停

animation-fill-mode  动画填充模式

    可选值    none 默认值  动画执行完毕元素回到原来位置

        forwords 动画执行完毕元素会停止在动画结束的位置

        backwards 动画延迟等待时,元素就会处于开始位置

        both 结合了forwards 和 backwards

 

posted @ 2021-08-22 15:24  2237774566  阅读(89)  评论(0)    收藏  举报