CSS的动画效果

news2024/9/24 17:19:02

动画效果

语法: 创建动画:@keyframes 调用动画:animation

animation参数值

参数值效果
animation-name规定 @keyframes 动画的名称。
animation-duration规定动画完成一个周期所花费的秒或毫秒。默认是 0
animation-timing-function规定动画的速度曲线。默认是 "ease"
animation-delay规定动画何时开始。默认是 0
animation-iteration-count规定动画被播放的次数(number类型)。默认是 1,(infinite: 无限次)
animation-direction规定动画是否在下一周期逆向地播放。默认是 "normal" ,‘alternate'
animation-play-state规定动画是否正在运行或暂停。默认是 "running",'paused'
animation-fill-mode规定对象动画时间之外的状态.forwards,backwards默认值

1、通过 @keyframes(关键帧动画) 规则,您能够创建动画。

2、创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。在动画过程中,能够多次改变这套 CSS 样式。

3、以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。 0% 是动画的开始时间,100% 动画的结束时间。

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

5、在CSS样式中,用animation属性来应用 @keyframes所定义的动画

案例

 案例一:元素平移加颜色渐变
<style>
  .box{
    width: 100px;
    height: 100px;
    background-color: aquamarine;
    animation: dong 2s linear;
  }
  @keyframes dong{
    0%{
      background-color: aquamarine;
      margin-left: 0;
    }
    100%{
      background-color: blueviolet;
      margin-left: 300px;
    }
  }
</style>
<div class='box'>hello world</div>

 

 案例二:将元素移动到某个位置,并且停在当前位置
<style>
  .box{
    width: 100px;
    height: 100px;
    background-color: aquamarine;
    animation: dong 2s linear;
    /* 动画执行完毕,停止在最后一个动画的效果 */
    animation-fill-mode: forwards;
  }
  @keyframes dong{
    0%{
      background-color: aquamarine;
      margin-left: 0;
    }
    100%{
      background-color: blueviolet;
      margin-left: 300px;
    }
  }
</style>
<div class='box'>hello world</div>
案例三:元素沿着正方形轨迹移动
<style>
  .box{
    width: 100px;
    height: 100px;
    background-color: aquamarine;
    animation: dong 2s linear;
    /* 动画执行完毕,停止在最后一个动画的效果 */
    animation-fill-mode: forwards;
  }
  @keyframes dong{
    /* 可以省略0%和100%的效果 */
    0%{
      transform: translate(0,0);
    }
    25%{
      transform: translate(300px,0);
    }
    50%{
      transform: translate(300px,300px);
    }
    75%{
      transform: translate(0,300px);
    }
  }
</style>
<div class='box'>hello world</div>
案例四:西游记效果
<!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>
        {
            padding: 0;
            margin: 0;
        }
        html,body{
            height: 100%;
        }
        .content{
            width: 100%;
            height: 100%;
            background: url('./imgs/10.jpg');
            animation: dong 20s linear infinite;
            position: relative;
        }
        /*背景移动效果 */
        @keyframes dong{
            0%{
                background-position: 0 0;
            }
            100%{
                background-position: 2000px 0;
            }
        }
        .wk{
            width:200px;
            height: 200px;
            position: absolute;
            top: 45%;
            left: 20%;
            background: url('./imgs/1.png') no-repeat 0 0;
            animation: wk 2s steps(8,end) infinite;
        }
        /*悟空移动效果 */
        @keyframes wk{
            0%{
                background-position: 0 0;
            }
            100%{
                background-position: -1600px 0;
            }
        }
        .bj{
            width:200px;
            height: 200px;
            position: absolute;
            top: 45%;
            left: 35%;
            background: url('./imgs/2.png') no-repeat 0 0;
            animation: bj 2s steps(8,end) infinite;
        }
        /*八戒移动效果 */
        @keyframes bj{
            0%{
                background-position: 0 0;
            }
            100%{
                background-position: -1600px 0;
            }
        }
    </style>
</head>
<body>
    <div class="content">
        <div class="wk"></div>
        <div class="bj"></div>
    </div>
</body>
</html>

steps 有两个参数 第一个表示分几步执行完 第二个有两个值 start 第一帧是第一步动画结束 end 第一帧是第一步动画开始

 案例五:风车效果
<style>
  div{
    width: 1000px;
    height: 500px;
    background-image: url(caodi.png);
    background-size: 1000px 500px
      margin: 100px auto;
    position: relative;
  }
  img:nth-child(1){
    width: 350px;
    height: 350px;
    position: absolute;
    left: 115px;
    top: 60px;
  }
  /*设置第二个风车*/
  img:nth-child(2){
    width: 150px;
    height: 150px;
    position: absolute;
    top: 285px;
    left: 440px;
  }
  /*设置第三个风车*/
  img:nth-child(3){
    width: 250px;
    height: 250px;
    position: absolute;
    top: 190px;
    left: 578px;
  }
  /*key:关键,键;frame:框架;关键帧动画*/
  @keyframes dongHua {
    0%{
      transform: rotate(0deg);
    }100%{
      transform: rotate(360deg);
    }
  }
  img{
    /*动画 合写*/
    animation: dongHua 1s infinite linear;

  }
</style>
<div>
  <img src="fengche.png" alt="这是一张图片:风车">
  <img src="fengche.png" alt="这是第二个风车">
  <img src="fengche.png" alt="这是第三个风车">
</div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2078051.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ZBrush入门使用介绍——11、边缘环

大家好&#xff0c;我是阿赵。   继续介绍ZBrush的用法。这次看看边缘环的使用方法。我个人的感觉&#xff0c;边缘环有点类似于3DsMax之类软件的挤出功能&#xff0c;可以沿着环形的面&#xff0c;添加凹凸效果。   边缘环工具入口在几何体编辑里面&#xff1a; 一、 边…

AI大语言模型之分布式训练概述

一、前言 随着语言模型参数量和所需训练数据量的急速增长&#xff0c;单个机器上有限的资源已无法满足大语言模型训练的要求。需要设计分布式训练&#xff08;Distributed Training&#xff09;系统来解决海量的计算和内存资源需求问题。 在分布式训练系统环境下需要将一个模…

关于java中Excel的导入导出

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、配置pom依赖二、搭建utils工具类1.Excel表头设置表2.Excel导入导出工具类3.Excel导出配置4.Excel导入配置 三、添加user表和工具类使用方法1.user表设置2.工…

uni-app开发日志:新增页和修改页因字段太多用分段器实现分段分类

schema2code默认只能实现较为简单的分组&#xff0c;当填写项目较多的时候&#xff0c;肯定是用选项卡明确分段比较合适&#xff0c;这时候schema2code自生成的就没法实现了&#xff0c;摒着最最少的代码修改来尝试设置生成前的schema和生成后的vue页面。 一、schema设计 先把…

【Hot100】LeetCode—46. 全排列

目录 1- 思路回溯 2- 实现⭐46. 全排列——题解思路 3- ACM 实现 题目连接&#xff1a;46. 全排列 1- 思路 回溯 由于是排列问题&#xff0c;需要讲究元素顺序。元素相同顺序不同是不同的排列&#xff0c;而组合问题不强调元素顺序。组合中的 startIndex 是用来保证&#xff…

如何用Java SpringBoot+Vue打造法律援助平台?毕业设计全攻略

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

【区间dp】 CF607B Zuma 题解

题面翻译 Genos \texttt{Genos} Genos 最近在他的手机上下载了祖玛游戏。在祖玛游戏里&#xff0c;存在 n ( 1 ≤ n ≤ 500 ) n(1\leq n\leq 500) n(1≤n≤500) 个一行的宝石&#xff0c;第 i i i 个宝石的颜色是 C i C_i Ci​。这个游戏的目标是尽快的消灭一行中所有的宝石…

python 实现zellers congruence泽勒一致算法

zellers congruence泽勒一致算法介绍 Zeller’s Congruence&#xff08;泽勒一致算法&#xff09;是一种用于计算给定日期是星期几的算法。这个算法可以处理公历&#xff08;Gregorian calendar&#xff09;和儒略历&#xff08;Julian calendar&#xff09;日期。其核心公式如…

SpringBoot实战:Spring Boot项目使用SM4国密加密算法

引言 在业务系统构建与部署的环节中&#xff0c;数据库作为核心存储组件&#xff0c;其连接信息的安全至关重要。通常情况下&#xff0c;这些敏感信息&#xff0c;如数据库密码&#xff0c;会直接以明文形式存储在YAML配置文件中&#xff0c;这无疑增加了信息泄露的风险。为有效…

用EA和SysML一步步建模的操作指南(01)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 对于许多学习SysML和MBSE的同学来说&#xff0c;比较头痛的问题之一是&#xff1a;各种各样的教程里给出的案例&#xff0c;图都是画好了的&#xff01;如何从零开始用建模工具把模型画…

【企业级】像素流管理平台 V1.0

在当今快速发展的数字世界里&#xff0c;虚幻引擎的像素流技术为用户带来了前所未未有的视觉体验和交互方式。为了进一步提升开发效率和用户体验&#xff0c;我们【企业级】像素流管理平台 V1.0应运而生。通过一系列精心设计的功能&#xff0c;这个平台不仅简化了开发流程&…

解锁流量密码!财谷通助力抖音小店优势最大化!

在数字经济蓬勃发展的今天&#xff0c;电商平台如雨后春笋般涌现&#xff0c;其中&#xff0c;抖音小店以其独特的短视频直播模式&#xff0c;成为了众多商家和消费者青睐的新宠。而提及四川财谷通信息技术有限公司在抖音平台上开设的小店&#xff0c;其可靠性更是备受瞩目。本…

初识AOP

Spring有两个核心的概念&#xff0c;一个是IOC/DI&#xff0c;一个是AOP。 AOP是在不改原有代码的前提下对其进行增强。 对于下面的内容&#xff0c;我们主要就是围绕着这一句话进行展开学习&#xff0c;主要学习两方面内容AOP核心概念,AOP作用: 1 什么是AOP? AOP(Aspect O…

【2024】10个好用的AI搜索引擎大盘点

在2024年&#xff0c;随着人工智能技术的飞速发展&#xff0c;AI搜索引擎已经成为我们日常生活中不可或缺的一部分。这些基于人工智能技术的搜索引擎不仅提供了更快速、更准确的搜索体验&#xff0c;还通过自然语言处理&#xff08;NLP&#xff09;和机器学习&#xff08;ML&am…

ECharts tooltip默认html样式,保留样式只对数据数值格式化

之前遇到过需要对数据进行百分比展示&#xff0c;echarts提供的默认样式还是挺好的所以想保留样式&#xff0c;但是设置了formatter默认样式就没了&#xff0c;所以写了formatter的html字符串模拟还原了一下默认样式&#xff0c;在此记录和分享。 适用场景&#xff1a;对数据进…

Datawhale X 李宏毅苹果书 AI夏令营 task1

3.1 局部极小值与鞍点 在深度学习的优化过程中&#xff0c;模型的损失函数可能会在某些点处停止下降&#xff0c;即使我们希望进一步降低损失。这一章节探讨了导致这一现象的原因&#xff0c;包括局部极小值、鞍点&#xff0c;以及其他临界点。理解这些概念能够帮助优化神经网…

注册资本登记新规14问

2023年12月29日修订的《公司法》第四十七条规定&#xff0c;全体股东认缴的出资额由股东按照公司章程的规定自公司注册成立之日起五年内缴足。根据这个规定&#xff0c;存量公司注册资本缴纳期限如何调整还需要进一步明确规定。 就在新公司法正式实施的同一天&#xff0c;2024…

AI新格式超越SD,更轻更快的Flux

随着《黑神话悟空》的横空出世&#xff0c;全民“天命人”大杀四方。 与此同时&#xff0c;AI绘画大模型领域也是群雄逐鹿。 Stable Diffusion作为开源AI绘画大模型鼻祖&#xff0c;推出了SD3&#xff0c;但因为加入了对身体的限制&#xff08;防止涩涩&#xff09;&#xff…

【架构-24】XML和JSON

XML&#xff08;可扩展标记语言&#xff09;和JSON&#xff08;JavaScript对象表示法&#xff09;是两种常用的数据格式&#xff0c;用于在不同系统之间传输和交换数据。它们各有优点和缺点&#xff0c;适用于不同的场景。下面是对XML和JSON的简要介绍以及它们之间的对比。 XM…

武汉流星汇聚:亚马逊第二季度业绩斐然,第三季度展望充满积极动能

在全球电商与科技巨头竞相角逐的舞台上&#xff0c;亚马逊再次以亮眼的财报数据证明了其行业领导者的地位。近日&#xff0c;亚马逊公布的2024财年第二季度财报不仅彰显了公司在复杂经济环境下的稳健增长能力&#xff0c;更为投资者和消费者描绘了一幅充满希望的未来图景。 第…