• animation css3动画与CSS3 @keyframes担配使用创建往复平缓动画


    通过 @keyframes 规则,您能够创建动画。

    创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。

    在动画过程中,您能够多次改变这套 CSS 样式。

    以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。

    0% 是动画的开始时间,100% 动画的结束时间。

    为了获得最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。

    注释:请使用动画属性来控制动画的外观,同时将动画与选择器绑定。

    语法

    @keyframes animationname {keyframes-selector {css-styles;}}

    描述
    animationname 必需。定义动画的名称。
    keyframes-selector

    必需。动画时长的百分比。

    合法的值:

    • 0-100%
    • from(与 0% 相同)
    • to(与 100% 相同)
    css-styles 必需。一个或多个合法的 CSS 样式属性。

     

     

     

     

     

     

     

     

     

    实例一:

    @keyframes mymove
    {
    from {top:0px;}
    to {top:200px;}
    }
    
    @-moz-keyframes mymove /* Firefox */
    {
    from {top:0px;}
    to {top:200px;}
    }
    
    @-webkit-keyframes mymove /* Safari 和 Chrome */
    {
    from {top:0px;}
    to {top:200px;}
    }
    
    @-o-keyframes mymove /* Opera */
    {
    from {top:0px;}
    to {top:200px;}
    }

    实例二:
    @keyframes mymove
    {
    0%   {top:0px; background:red; 100px;}
    100% {top:200px; background:yellow; 300px;}
    }
    
    @-moz-keyframes mymove /* Firefox */
    {
    0%   {top:0px; background:red; 100px;}
    100% {top:200px; background:yellow; 300px;}
    }
    
    @-webkit-keyframes mymove /* Safari 和 Chrome */
    {
    0%   {top:0px; background:red; 100px;}
    100% {top:200px; background:yellow; 300px;}
    }
    
    @-o-keyframes mymove /* Opera */
    {
    0%   {top:0px; background:red; 100px;}
    100% {top:200px; background:yellow; 300px;}
    }

    实例三:
    @keyframes mymove
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }
    
    @-moz-keyframes mymove /* Firefox */
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }
    
    @-webkit-keyframes mymove /* Safari 和 Chrome */
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }
    
    @-o-keyframes mymove /* Opera */
    {
    0%   {top:0px;}
    25%  {top:200px;}
    50%  {top:100px;}
    75%  {top:200px;}
    100% {top:0px;}
    }

     

    animation: name duration timing-function delay iteration-count direction;

    示例:-webkit-animation: start 1.5s infinite ease-in-out;

    描述
    animation-name 规定需要绑定到选择器的 keyframe 名称。。
    animation-duration 规定完成动画所花费的时间,以秒或毫秒计。
    animation-timing-function 规定动画的速度曲线。
    animation-delay 规定在动画开始之前的延迟。
    animation-iteration-count 规定动画应该播放的次数。
    animation-direction 规定是否应该轮流反向播放动画。

     

     

     

     

     

    那么接下来,咱来个实例,

    做一个H5页面底部,向上往复运动加渐隐提示用户向上滑动页面的效果:

     注释:transform: translate(0,-8px) 设置x轴与y轴的偏移值,与top与left不同,是在top与left的定点的基础上再进行的坐标偏移

    代码如下:

    @-webkit-keyframes start {

    0%,30% {opacity: 0;-webkit-transform: translate(0,10px);}
    60% {opacity: 1;-webkit-transform: translate(0,0);}
    100% {opacity: 0;-webkit-transform: translate(0,-8px);}
    }
    @-moz-keyframes start {
    0%,30% {opacity: 0;-moz-transform: translate(0,10px);}
    60% {opacity: 1;-moz-transform: translate(0,0);}
    100% {opacity: 0;-moz-transform: translate(0,-8px);}
    }
    @keyframes start {
    0%,30% {opacity: 0;transform: translate(0,10px);}
    60% {opacity: 1;transform: translate(0,0);}
    100% {opacity: 0;transform: translate(0,-8px);}
    }

    #array{
          position:absolute;z-index:999;-webkit-animation: start 1.5s infinite ease-in-out;
    }

    <img src="images/arrow.png" style="20px;height:15px; top:460px; left:150px;" id="array" class="resize"> 

  • 相关阅读:
    谷歌 colab调用 Kaggle 数据集
    TensorFlow/Keras binary_crossentropy损失函数
    R语言 pivot_longer 图表变换
    R语言 ggplot2 柱状图
    R语言 ggplot2 笔记
    Bash 批量删除指定后缀的文件
    MacBook 风扇控制软件 Macs Fan Control
    R语言 dplyr selec 辅助函数
    R语言一次性更新全部packages
    R语言 glue 版本冲突
  • 原文地址:https://www.cnblogs.com/MrZouJian/p/5404508.html
Copyright © 2020-2023  润新知