zoukankan      html  css  js  c++  java
  • CSS3 常用属性(四)-- 过渡、动画

          过渡--transition

          过渡这个属性的作用是当元素的样式发生变化时,使用动画的效果进行变化。有了过渡属性后,很多情况下,写一些简单效果,将不需要再借助 javascript 去计算。

          transition  过渡属性简写,可以设置四个值

          transition-property 过渡的CSS的名字,或是all

          transition-duration  从一个状态到另一个状态的的时间

          transition-timing-function 过渡效果的动画曲线,默认easy,linear是匀速,cubic-bezier(n,n,n,n)可以自定义动画曲线

          transition-delay  延时

      下面是利用CSS3过渡制作的一个旋转方块,鼠标移入方块后等待1s,然后10s 内匀速旋转 3600deg。

     1 <!doctype html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <div class="box"></div>
     9     <style>
    10     .box{
    11         width: 200px;
    12         height: 200px;
    13         background: red;
    14         margin: 0 auto;
    15         transition:all 10s linear 1s;
    16     }
    17     .box:hover{
    18         transform: rotate(3600deg);
    19     }
    20     </style>
    21 </body>
    22 </html>

      

      动画--animation

          过渡是当元素状态发生改变时,触发了过渡的动画效果,而动画属性,则是当页面打开时,就开始执行了,一直到执行结束或页面关闭。

          执行动画时,是需要先定义动画规则,有了规则,元素才可以按照预设规则执行动画效果。定义动画规则时,是使用 @keyframes 来设置。

          用法如下:

    @keyframes animation_name{
        0%{
          width:200px;
        }
        100%{
          width:400px;
        }
    }

      以上代码的规则是表示,规则名字是animation_name,规则是某个元素的宽度从 200px 到400px 。

      animation属性可以添加的值有以下几条:

      animation:动画属性的简写

      animation-name:动画规则的名称

      animation-duration:动画执行一个周期的时间

      animation-timing-function:动画的运动曲线

      animation-delay:延时

      animation-iteration-count:动画执行次数,默认是1,infinite是无穷次

      animation-direction:默认是normal,alternate表示可逆向播放

      animation-play-state:动画运行或暂停,running/paused

      下面是一个小例子,运行在浏览器中是,一个小方块,在打开页面后就开始匀速可逆性的转动,而且一直在转动不会停止,点击停止,再次点击,继续转动。

     1 <!doctype html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6 </head>
     7 <body>
     8     <div class="box"></div>
     9     <style>
    10     .box{
    11         width: 200px;
    12         height: 200px;
    13         background: red;
    14         margin: 0 auto;
    15         animation:zhuan .5s linear infinite alternate;
    16     }
    17     @keyframes zhuan{
    18         0%{
    19             transform:rotate(0deg);
    20         }
    21         100%{
    22             transform:rotate(180deg);
    23         }
    24     }
    25     </style>
    26 </body>
    27 </html>
    28 <script>
    29     var box = document.getElementsByClassName('box')[0];
    30     var flag = true;
    31     box.onclick = function () {
    32         if (flag) {
    33             box.style.animationPlayState = 'paused';
    34         }else{
    35             box.style.animationPlayState = 'running';
    36         }
    37         flag = !flag;
    38     }
    39 </script>
  • 相关阅读:
    c# 解决读取Excel混合文本类型,数据读取失败的解决方法
    c#中的常用ToString()方法总结
    vsts
    RSA加密解密
    odbc连接数据库
    SerialPort
    C# Winform下载文件并显示进度条
    c# 面试题
    SQL Server 存储过程
    mysql 事务处理
  • 原文地址:https://www.cnblogs.com/nation-blue/p/6708111.html
Copyright © 2011-2022 走看看