zoukankan      html  css  js  c++  java
  • css 的过渡(transition) 和动画(animation)

    1.transition

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6         <style>
     7             .box1{
     8                 position: absolute;
     9                 width: 200px;
    10                 height: 200px;
    11                 /* background-color: rgba(200,180,170,.5); */
    12                 background-color: #bfa;
    13                 
    14                 /*opacity 用来设置元素的透明度
    15                     需要一个0-1之间的值
    16                         1 表示完全不透明
    17                         0 表示完全透明
    18                         
    19                     rgba() 只是设置一个透明的样式
    20                   */
    21                 opacity: .5;
    22                 
    23                 /* left: 0; */
    24                 
    25                 /* 
    26                     过渡的设置方式
    27                         transition-property 表示对哪些属性应用过渡
    28                             - 可以设置一个属性
    29                             - 也可以设置多个属性,多个属性之间使用,隔开
    30                             - 也可以使用all,表示所有属性
    31                             - 注意:所有的有具体数值的属性都可以应用过渡效果
    32                             
    33                             
    34                         transition-duration 过渡的时间
    35                              - 时间单位 s(秒)  ms(毫秒)
    36                              - 1s = 1000ms
    37                  */
    38                 transition-property: all;
    39                 transition-duration: 1000ms;
    40             }
    41             
    42             /* 
    43                 过渡指当一个元素的属性发生变化,浏览器可以一点一点的将该值变化到目标值
    44                     过渡一般会用于一些交互效果,用来提升用户体验
    45              */
    46             
    47             .box1:hover{
    48                 width: 400px;
    49                 height: 400px;
    50                 left: 100px;
    51                 background-color: orange;
    52             }
    53             
    54         </style>
    55     </head>
    56     <body>
    57         
    58         <div class="box1">
    59             Hello
    60             
    61             <!-- <img src="../day07/img/an.jpg" alt=""> -->
    62         </div>
    63         
    64     </body>
    65 </html>

    2.transition

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title></title>
     6         <style>
     7             
     8             .outer{
     9                 width: 1100px;
    10                 height: 500px;
    11                 border-right: 1px blue solid;
    12             }
    13             
    14             .box1{
    15                 width: 100px;
    16                 height: 100px;
    17                 background-color: tomato;
    18                 
    19                 /* transition-property: all;
    20                 transition-duration: 10s; */
    21                 
    22                 /* 
    23                     transition-delay 过渡效果执行的延时
    24                  */
    25                 /* transition-delay: 2s; */
    26                 
    27                 
    28                 /* 
    29                     transition-timing-function 用来指定过渡的时间函数
    30                         - 指定的就是过渡效果的运行方式
    31                             可选值:
    32                                 ease 默认值,先加速 后减速
    33                                 linear 匀速运动
    34                                 ease-in 加速运动
    35                                 ease-out 减速运动
    36                                 ease-in-out 先加速,后减速
    37                                 
    38                         - 也可以通过贝塞尔曲线来自定义时间函数
    39                             cubic-bezier(p1, p2, p3, p4)
    40                             
    41                         - steps()可以用来设置一个分步的过渡效果
    42                             steps(步数,end/start)
    43                                 end 默认值,计时结束,才执行
    44                                 start 计时刚开始就执行
    45                             
    46                         https://cubic-bezier.com/ 生成贝塞尔曲线的网站
    47                  
    48                  */
    49                 /* transition-timing-function: cubic-bezier(.3,1.37,1,-0.71); */
    50                 /* transition-timing-function: cubic-bezier(.03,-0.44,.93,-0.93); */
    51                 /* transition-timing-function: steps(2,start); */
    52                 
    53                 
    54                 /* transition 简写属性,可以同时设置所有的过渡相关的样式 
    55                         简写属性除了duration 和 delay两个属性外其他值没有顺序要求
    56                 */
    57                 transition: steps(2) all 2s ;
    58                 
    59                 
    60             }
    61             
    62             .outer:hover .box1{
    63                 margin-left: 1000px;
    64             }
    65             
    66             .box2{
    67                 width: 100px;
    68                 height: 100px;
    69                 background-color: greenyellow;
    70                 margin-top: 100px;
    71                 
    72                 transition-property: margin-left;
    73                 transition-duration: 2s;
    74             }
    75             
    76             .outer:hover .box2{
    77                 margin-left: 1000px;
    78             }
    79         </style>
    80     </head>
    81     <body>
    82         <div class="outer">
    83             <div class="box1"></div>
    84             <!-- <div class="box2"></div> -->
    85             
    86         </div>
    87         
    88     </body>
    89 </html>

    3.animation

      1 <!DOCTYPE html>
      2 <html>
      3     <head>
      4         <meta charset="utf-8">
      5         <title>动画</title>
      6         <style>
      7             .box1{
      8                 height: 100px;
      9                 width: 100px;
     10                 position: absolute;
     11                 background-color: #bfa;
     12                 
     13                 /* 将关键帧,应用到当前元素上 
     14                     animation-name 表示当前要应用的动画的名字
     15                     animation-duration 用来指定动画执行的时间
     16                     animation-iteration-count 动画执行的次数
     17                         可选值:
     18                             数值 
     19                             infinite 无限执行
     20                             
     21                     animation-delay 动画开始执行的延时
     22                     animation-timing-function 指定动画的时间函数
     23                         用法和transition是一致的
     24                         
     25                     animation-play-state 动画的运行状态
     26                         可选值:
     27                             running 动画运行
     28                             paused 动画暂停
     29                             
     30                     animation-direction 动画执行的方向
     31                         可选值:
     32                             normal 默认值 动画从 from 到 to 运行
     33                             reverse 动画反向运行(从 to 到 from)
     34                             alternate 开始时从前向后走(from 到 to)
     35                                         回来时会从后向前走(to 到 from)
     36                             alternate-reverse 开始时从后完全走(to 到 from)
     37                                                 回来时,从前往后走(from 到 to)
     38                     
     39                     animation-fill-mode 动画的填充方式    
     40                         可选值:
     41                             none 默认值,动画执行完毕后,元素会回到原来的位置
     42                             forwards 动画执行完毕后,元素会停在结束位置
     43                             backwards 动画执行延时时,元素会处在from的状态
     44                             both 动画执行延时时,元素会处在from的状态 动画执行完毕后,元素会停在结束位置
     45                 */
     46                 /* animation-name: test;
     47                 animation-duration: 4s;
     48                 animation-delay: 2s; */
     49                 
     50                 /* animation-direction:alternate-reverse; */
     51                 
     52                 /* animation-fill-mode: both; */
     53                 
     54                 /* animation-timing-function: ease-in-out;*/
     55                 
     56                 /* animation-iteration-count: infinite; */
     57                 
     58                 
     59                 /* 
     60                     transition,只能用于设置一次性的过渡效果,
     61                         如果需要持续运行的动画,必须要用到animation
     62                     
     63                     要使用动画,必须先设置关键帧
     64                  */
     65                 
     66                 
     67                 /* 
     68                     animation的简写属性
     69                         可以通过它来设置所有的动画相关的样式
     70                         同样只有 duration 和 delay 有顺序要求
     71                  */
     72                 animation: test 2s ease-in infinite both alternate;
     73                 
     74                 
     75             }
     76             
     77             .box2{
     78                 height: 100px;
     79                 width: 100px;
     80                 top:200px;
     81                 position: absolute;
     82                 background-color: #bfa;
     83                 
     84                 animation-name: test;
     85                 animation-duration: 4s;
     86                 animation-delay: 2s;
     87                 
     88                 
     89                 animation-fill-mode: none;
     90                 
     91                 
     92                 
     93             }
     94             
     95             .box1:hover{
     96                 animation-play-state: paused;
     97             }
     98             
     99             /* 创建一个关键帧 */
    100             @keyframes test{
    101                 /* from指定动画起始位置的样式 */
    102                 from{
    103                     left: 0px;
    104                     background-color: tomato;
    105                 }
    106                 
    107                 /* to指定动画结束位置的样式 */
    108                 to{
    109                     left: 800px;
    110                     background-color: yellow;
    111                 }
    112             }
    113             
    114         </style>
    115     </head>
    116     <body>
    117         <div class="box1"></div>
    118         
    119         
    120         <div class="box2"></div>
    121         
    122     </body>
    123 </html>
  • 相关阅读:
    【linux就该这么学】-05
    【linux就该这么学】-04
    【linux就该这么学】-03
    【linux就该这么学】-02
    【linux就该这么学】-01
    【linux就该这么学】-00
    MySQL57安装与设置
    Docker(一) Docker入门教程
    Centos 7.X 安装及常规设置
    删除数组里所有与给定值相同的值
  • 原文地址:https://www.cnblogs.com/fsg6/p/12681817.html
Copyright © 2011-2022 走看看