• CSS样式更改——过渡、动画


    前言

    上篇文章主要讲述了CSS样式更改中的2D转换,这篇文章我们来介绍下CSS样式更改中的过渡、动画基础用法。

    1.过渡

    元素从一种样式逐渐改变为另一种的样式

    div
    {
    transition: width 1s;
    -moz-transition: width 1s;  /* Firefox 4 */
    -webkit-transition: width 1s;  /* Safari 和 Chrome */
    -o-transition: width 1s;  /* Opera */
    }
    transition-property:应用过渡的Css属性的名称 比如宽度width
    transition-duration:过渡效果花费的时间   比如1s
    transition-timing-function:渡效果的时间曲线 如下所示:
    linear 匀速
    ease 先慢后快
    ease-in 慢速开始
    ease-out 慢速结束
    ease-in-out 慢速开始和结束
    cubic-bezier(n,n,n,n) 在cubic-bezie 函数中定义自己的值,可能的值是0至1之间的数值
    transition-delay:过渡效果何时开始 如1s
    

    2.动画 Animation

    1).首先定义@keyframes 规则

    @keyframes my
    {
    from {background: red;}
    to {background: yellow;}
    }
    
    @-moz-keyframes my /* Firefox */
    {
    from {background: red;}
    to {background: yellow;}
    }
    
    @-webkit-keyframes my /* Safari 和 Chrome */
    {
    from {background: red;}
    to {background: yellow;}
    }
    
    @-o-keyframes my /* Opera */
    {
    from {background: red;}
    to {background: yellow;}
    }
    

    为了丰富元素的变化过程,你可以把from to改为百分比的样子:

    @keyframes my
    {
    0%   {background: red;}
    25%  {background: yellow;}
    50%  {background: blue;}
    100% {background: green;}
    }
    
    @-moz-keyframes my /* Firefox */
    {
    0%   {background: red;}
    25%  {background: yellow;}
    50%  {background: blue;}
    100% {background: green;}
    }
    
    @-webkit-keyframes my /* Safari 和 Chrome */
    {
    0%   {background: red;}
    25%  {background: yellow;}
    50%  {background: blue;}
    100% {background: green;}
    }
    
    @-o-keyframes my /* Opera */
    {
    0%   {background: red;}
    25%  {background: yellow;}
    50%  {background: blue;}
    100% {background: green;}
    }
    定义好了,接下来我们就可以启动我们的动画了。
    

    2).animation启动动画效果

    div
    {
    animation-name: my;
    animation-duration: 5s;
    animation-timing-function: linear;
    animation-delay: 2s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-play-state: running;
    /* Firefox: */
    -moz-animation-name: my;
    -moz-animation-duration: 5s;
    -moz-animation-timing-function: linear;
    -moz-animation-delay: 2s;
    -moz-animation-iteration-count: infinite;
    -moz-animation-direction: alternate;
    -moz-animation-play-state: running;
    /* Safari 和 Chrome: */
    -webkit-animation-name: my;
    -webkit-animation-duration: 5s;
    -webkit-animation-timing-function: linear;
    -webkit-animation-delay: 2s;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    -webkit-animation-play-state: running;
    /* Opera: */
    -o-animation-name: my;
    -o-animation-duration: 5s;
    -o-animation-timing-function: linear;
    -o-animation-delay: 2s;
    -o-animation-iteration-count: infinite;
    -o-animation-direction: alternate;
    -o-animation-play-state: running;
    }
    
    animation-name                   选择器的 keyframes 的名称
    animation-duration               动画所花费的时间
    animation-timing-function        匀速播放动画
    animation-delay           动画过多久开始
    animation-iteration-count        播放动画次数
    animation-direction       是否在下一周期逆向地播放 normal 正常播放  alternate 轮流反向播放
    animation-play-state             暂停动画  paused 动画已暂停  running 动画正在播放
    animation-fill-mode
    none         不填充
    forwards     当动画完成后,保持最后一个属性值
    backwards     在animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值
    both        向前和向后填充模式都被应用。
    

    参考文档:W3C官方文档(CSS篇)

    总结

    这篇文章主要介绍了CSS样式更改篇中的过度和动漫基础知识,希望让大家对CSS样式更改有个简单的认识和了解。
    想要学习更多,请前往Python爬虫与数据挖掘专用网站:http://pdcfighting.com/

  • 相关阅读:
    12.浏览器测试
    11.测试用例管理
    10.测试用例的钩子
    如何处理JSON中的特殊字符
    foreach的参数不是数组:Warning: Invalid argument supplied for foreach
    CI中的控制器中要用model中的方法,是统一写在构造器方法中,还是在每一个方法中分别写
    CodeIgniter配置之config
    **Apache Options指令详解
    .htaccess的基本作用及相关语法介绍
    .htaccess文件的作用(访问控制)
  • 原文地址:https://www.cnblogs.com/dcpeng/p/13659007.html
Copyright © 2020-2023  润新知