Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
HTML与CSS中的动画模块_创想鸟

HTML与CSS中的动画模块

这次给大家带来htmlcss中的动画模块,使用html与css中的动画模块注意事项有哪些,下面就是实战案例,一起来看一下。

一. 动画模块

1.过渡和动画之间的异同

1.1不同点

过渡必须人为的触发才会执行动画
动画不需要人为的触发就可以执行动画

立即学习“前端免费学习笔记(深入)”;

1.2相同点

过渡和动画都是用来给元素添加动画的
过渡和动画都是系统新增的一些属性
过渡和动画都需要满足三要素才会有动画效果

2 动画三要素

2.1告诉系统需要执行哪个动画
2.2告诉系统我们需要自己创建一个名称叫做lnj的动画
2.3告诉系统动画持续的时长

p{             width: 100px;     height: 50px;   background-color: red;        /*1.告诉系统需要执行哪个动画*/    animation-name: lnj;        /*3.告诉系统动画持续的时长*/               animation-duration: 3s;       }         /*2.告诉系统我们需要自己创建一个名称叫做lnj的动画*/   @keyframes lnj {              from{                 margin-left: 0;           }               to{                 margin-left: 500px; }           }

二.动画模块 – 其它属性 (上)

  p {           width: 100px;           height: 50px;           background-color: red;           animation-name: sport;           animation-duration: 2s;           /*告诉系统多少秒之后开始执行动画*/           /*animation-delay: 2s;*/           /*告诉系统动画执行的速度*/           animation-timing-function: linear;           /*告诉系统动画需要执行几次*/           animation-iteration-count: 3;    //infinite : 无限的           /*告诉系统是否需要执行往返动画           取值:         normal, 默认的取值, 执行完一次之后回到起点继续执行下一次           alternate, 往返动画, 执行完一次之后往回执行下一次           */         animation-direction: alternate;     }       @keyframes sport {           from{             margin-left: 0;         }           to{             margin-left: 500px;         }     }       p:hover{           /*         告诉系统当前动画是否需要暂停           取值:         running: 执行动画,默认取值           paused: 暂停动画, 当动画执行时,鼠标hover到p上方时,动画停止,鼠标移开,则继续动画;           */           animation-play-state: paused;     }

三.动画模块 – 其它属性 (下)

      .box2{                   width: 200px;                   height: 200px;                   background-color: blue;                   margin: 100px auto;                   animation-name: myRotate;                   animation-duration: 5s;                   animation-delay: 2s;                   /*             通过我们的观察, 动画是有一定的状态的                   1.等待状态             2.执行状态             3.结束状态             */      /*             animation-fill-mode作用:             指定动画等待状态和结束状态的样式                   取值:             none: 不做任何改变                               forwards: 让元素结束状态保持动画最后一帧的样式;                   //向前的                   backwards: 让元素等待状态的时候显示动画第一帧的样式;                    // 向后的                                both: 让元素等待状态显示动画第一帧的样式, 让元素结束状态保持动画最后一帧的样式      */                   /*animation-fill-mode: backwards;*/                   /*animation-fill-mode: forwards;*/                   animation-fill-mode: both;         }               @keyframes myRotate {                   0%{                 transform: rotate(10deg);             }                    50%{                 transform: rotate(50deg);             }                    100%{                 transform: rotate(70deg);             }                }       animation-fill-mode

四. 动画模块-连写

1.动画模块连写格式
animation:动画名称 动画时长 动画运动速度 延迟时间 执行次数 往返动画;

2.动画模块连写格式的简写
animation:动画名称 动画时长;

五. 云层效果

           104-动画模块-云层效果              *{             margin: 0;             padding: 0;         }         ul{             height: 400px;             background-color: skyblue;             margin-top: 100px;             animation: change 5s linear 0s infinite alternate;             position: relative;             overflow: hidden; //让屏幕下方的滚动条隐藏掉         }          ul li{             list-style: none;             width: 400%;      //设置li的宽度为屏幕的四倍,移动最多的为屏幕宽度的三倍,为保证屏幕内一直有云朵,故多设置一个屏幕的宽度的云朵        height: 100%;             position: absolute;         // 设置子绝父相后,三个li会重叠到一起                     left: 0;             top: 0;         }         ul li:nth-child(1){                     background-image: url("images/cloud_one.png");                     animation: one 30s linear 0s infinite alternate;         }                 ul li:nth-child(2){             background-image: url("images/cloud_two.png");                     animation: two 30s linear 0s infinite alternate;         }                 ul li:nth-child(3){             background-image: url("images/cloud_three.png");                     animation: three 30s linear 0s infinite alternate;         }                 @keyframes change {                     from{                 background-color: skyblue;             }                     to{                 background-color: black;             }         }                 @keyframes one {                     from{                 margin-left: 0;             }                      to{                 margin-left: -100%;           //如果先往右移动,又出现屏幕上有一节没云朵的情况,故先往左移动;                      }         }                  @keyframes two {                      from{                 margin-left: 0;             }                       to{                 margin-left: -200%;          //由于动画的时间都一样,但是运动的距离不一样,又由于都是线性速度,所以就会出现有点运动快,有的运动慢!                       }         }                  @keyframes three {             from{                 margin-left: 0;             }                      to{                 margin-left: -300%;             }         }                 

六. 无限滚动

           105-动画模块-无限滚动              *{             margin: 0;             padding: 0;         }         p{             width: 600px;             height: 188px;             border: 1px solid #000;              margin: 100px auto;             overflow: hidden;         }         ul{             width: 2000px;    //这个无限滚动原理就是ul做动画                height: 188px;             background-color: black;     //背景颜色黑色,当li的透明度为半透明时,li就会有黑色蒙版效果                animation: move 10s linear 0s infinite normal;                         //name 时间 速度 延时 无限重复 是否往返(normal代表不往返)            }                     ul li{             float: left;             list-style: none;             width: 300px;                         height: 188px;             background-color: red;                                      border: 1px solid #000;             box-sizing: border-box;         }                                  ul:hover{                                               /*动画添加给谁, 就让谁停止*/                                               animation-play-state: paused;         }                                                       ul:hover li{             opacity: 0.5;                                                       //当li的透明度为0.5时,就会看到父元素的背景颜色(黑色),就会有蒙版效果                                                               }                                                                        ul li:hover{             opacity: 1;                                                                //透明度为1,不透明,看不到父元素的背景色,故没有蒙版效果                                  }         @keyframes move {                                               from{                 margin-left: 0;             }                                               to{                 margin-left: -1200px;                                  //只需要移除屏幕4个li的宽度就可.   屏幕上就会显示第5.6两个li,这时,原本的动画就会恢复的原来的位置接着动画,实现了无线滚动效果                                    }         }        

  • ![](images/banner1.png)
  • ![](images/banner2.jpg)
  • ![](images/banner3.jpg)
  • ![](images/banner4.jpg)
  • //把前两个li加在后面,起到过度效果;动画不会显得太生硬.
  • ![](images/banner1.png)
  • ![](images/banner2.jpg)

相信看了本文案例你已经掌握了方法,更多精彩请关注创想鸟其它相关文章!

推荐阅读:

HTML与CSS中2D转换模块

企业开发中使用H5有哪些注意事项

以上就是HTML与CSS中的动画模块的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1545921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
HTML与CSS中的3D转换模块
上一篇 2025年12月21日 17:39:04
HTML与CSS中2D转换模块
下一篇 2025年12月21日 17:39:22

相关推荐

  • Laravel 表单验证失败后保留输入值:最佳实践教程

    本文旨在帮助 Laravel 开发者解决表单验证失败后,如何保留用户已输入数据的问题。我们将深入探讨 withInput() 方法的使用,并提供清晰的代码示例,确保即使在验证失败的情况下,用户体验也能保持流畅。通过本文的学习,你将掌握在 Laravel 中优雅地处理表单验证,并提升应用的可用性。 在…

    2026年9月24日
    000
  • 动态表单输入中多答案数据处理教程

    本教程旨在解决Web开发中,如何高效处理包含动态数量答案的表单提交数据,特别是当需要更新现有问题及其关联答案时。文章将详细阐述前端表单的命名策略以及后端PHP如何解析这些动态输入,以准确获取答案内容及其对应的数据库ID,从而实现数据的精准更新,并提供最佳实践建议。 理解动态答案更新的挑战 在构建问答…

    2026年9月24日
    000
  • 使用 PHP 解析 JSON 文件并在网页上显示特定数据

    本文旨在帮助开发者学习如何使用 PHP 解析 JSON 文件,并提取其中的特定数据,将其以结构化的方式展示在网页上。我们将通过一个简单的示例,演示如何读取 JSON 数据,解析成 PHP 数组,并最终以 HTML 表格的形式呈现。 PHP 解析 JSON 数据 JSON (JavaScript Ob…

    2026年9月24日
    100
  • 如何在PHP的require语句中传递参数并有效管理变量作用域

    本文探讨了在php中使用`require`或`include`语句时如何向被引入文件传递参数。文章详细阐述了通过直接变量作用域共享、利用`$_get`超全局变量(不推荐)以及将引入文件内容封装为函数或类(推荐最佳实践)这三种方法,并提供了相应的代码示例,旨在帮助开发者理解和选择最适合其场景的参数传递…

    2026年9月24日
    000
  • PHP Web开发:高效处理动态数量问题答案的表单更新与ID获取

    本教程探讨在PHP Web开发中,如何高效处理具有动态数量答案的问题更新表单。针对需要同时获取答案文本值及其对应ID的场景,文章详细介绍了通过合理设计表单字段命名和利用$_POST超全局变量的键值迭代特性,实现对动态生成答案字段的准确解析和数据提取,确保更新操作的完整性。 问题背景与挑战 在开发问答…

    2026年9月24日
    100
  • VSCode 怎样设置文件的自动命名规则 VSCode 文件自动命名规则的设置技巧​

    vscode 本身不提供图形界面设置文件自动命名,但可通过配置 emmet.variables 和使用插件实现;2. 可在 settings.json 中添加如 “emmet.variables”: { “today”: “${tm_yea…

    2026年9月24日
    100
  • phpMyAdmin快速导出文件字符集配置指南

    本文详细介绍了phpMyAdmin快速导出功能中文件字符集的默认设置及其配置方法。默认情况下,快速导出生成的文件采用UTF-8编码。用户可以通过修改phpMyAdmin的配置文件config.inc.php,利用$cfg[‘Export’][‘charset&#8…

    2026年9月24日
    100
  • Laravel Blade中条件隐藏元素的优雅实践

    本文探讨了在Laravel Blade模板中如何高效地实现HTML元素的条件隐藏。针对传统@if-@else语句导致代码冗余的问题,教程提出使用Blade的内联三元运算符在style属性中动态控制display: none,从而避免重复代码,提升模板的可读性和维护性。此外,还将介绍如何利用CSS类和…

    2026年9月24日
    100
  • PHP同页面无限次表单提交与显示:防止数据覆盖的实现技巧

    本教程详细阐述了如何在php中实现同页面多次表单提交而不覆盖先前数据的方法。核心策略是利用html的数组命名输入(`name=”field[]”`)来收集多个值,并在每次页面刷新时,通过隐藏输入字段重新提交已有的数据,从而在不依赖数据库的情况下,实现“无限”次提交并显示所有历…

    2026年9月23日
    100
  • 使用 Dompdf 一键生成大量 PDF 文件的优化方案

    本文旨在解决使用 Dompdf 生成大量 PDF 文件时遇到的超时问题。通过分析常见原因,提出了从Web服务器环境迁移到命令行环境,并配合 set_time_limit(0) 函数来避免执行超时,从而高效生成多个包含大量数据的 PDF 文件。 问题分析 从提供的代码片段可以看出,程序通过循环遍历 $…

    2026年9月23日
    600
  • PHP如何设置视频自动播放_PHP设置视频自动播放方法

    答案:PHP通过生成含autoplay和muted属性的HTML5 video标签实现视频自动播放。具体描述:PHP动态输出视频路径与播放设置,结合autoplay、muted、controls等属性,在浏览器限制下提升自动播放成功率,尤其用于背景视频循环播放场景。 PHP 本身是服务器端语言,不能…

    2026年9月23日
    2200
  • 在PHP中将JSON数组值声明为变量

    本文介绍了如何在PHP中从数据库获取数据并将其编码为JSON数组,然后通过AJAX调用将其传递到另一个页面。重点讲解了如何在接收数据的页面中解析JSON数据,并将JSON数组中的特定值提取为PHP变量,以便在后续的函数或查询中使用。 从数据库获取数据并编码为JSON 首先,我们需要从数据库中获取数据…

    2026年9月23日
    1200
  • win11怎么设置默认浏览器_win11默认浏览器设置教程

    首先通过“设置”应用批量更改默认浏览器,选择目标浏览器后系统自动关联所有网页协议;其次可利用浏览器内置功能跳转至系统设置完成授权;最后为确保万无一失,可手动逐项指定http、https等协议的默认应用。 如果您希望在Windows 11系统中更改默认浏览器,以便所有网页链接都能通过您选择的浏览器打开…

    2026年9月23日
    1200
  • 使用 Dompdf 高效生成大量 PDF:优化长时任务与超时处理

    本文探讨了在使用 Dompdf 生成大量或多页 PDF 文件时遇到的超时问题。针对Web环境下的限制,文章提出了两种解决方案:短期内可通过调整PHP执行时间限制来缓解,但更推荐采用PHP命令行接口(CLI)进行后台处理。通过将耗时任务转移到独立的CLI脚本中执行,可以有效避免Web服务器超时,提升P…

    2026年9月23日
    100
  • 使用 PHP 解析 JSON 文件并在网页中显示特定数据

    本文档旨在指导初学者如何使用 PHP 解析 JSON 文件,并提取其中的特定数据,最终将其展示在网页上。我们将通过一个简单的例子,演示如何读取 JSON 文件,解码 JSON 数据,并使用 PHP 的数组操作和 HTML 元素将数据呈现出来。 读取 JSON 文件并解码 首先,我们需要准备一个 JS…

    2026年9月23日
    100
  • PHP:根据条件动态禁用表格中的按钮

    本文旨在解决在PHP中,根据表格行中两列的值是否相等,动态禁用对应按钮的问题。通过修改循环遍历数据并生成HTML表格的代码,在生成按钮时增加条件判断,实现当mi_name列和item_name列的值相等时,禁用该行的按钮。文章提供两种实现方式,并附带代码示例,帮助开发者快速实现此功能。 在PHP中动…

    2026年9月23日
    200
  • safari浏览器如何导入Netscape格式的书签文件_safari浏览器导入Netscape书签方法

    Safari无法直接读取Netscape格式书签时,可通过HTML文件转换、第三方工具修复或借助Chrome/Firefox中转导入。首先确认书签文件含标准结构,尝试直接导入Safari;若失败,使用Linkman Lite等工具修复格式后导入;或通过Chrome先行导入再导出标准HTML文件,最后…

    2026年9月23日
    000
  • 在无Maven或Eclipse环境下手动构建Java Web应用WAR包的教程

    本教程详细介绍了如何在不依赖Maven或Eclipse等集成开发环境的情况下,为Java Web应用程序手动生成WAR(Web Application Archive)文件。文章首先阐述了WAR文件的基本结构,随后通过一个Ant构建脚本的实例,指导读者完成从源代码编译、文件组织到最终WAR包生成的全…

    2026年9月23日
    200
  • VS Code团队协作:共享配置与规范

    通过共享VS Code配置实现团队协作标准化,1. 使用.settings.json统一编辑器行为;2. 集成Prettier与ESLint确保代码风格一致;3. 通过extensions.json推荐必备插件;4. 忽略私有配置文件避免冲突,提升开发效率。 在团队开发中,保持代码风格一致和开发环境…

    2026年9月23日
    100
  • Prestashop分类描述在分页时的显示行为解析与SEO考量

    Prestashop商店中,分类描述通常仅在首个分页页面显示,而在后续分页页面上消失,甚至从第二页返回第一页时也可能不显示。这并非一个技术故障,而是Prestashop的默认行为,且从SEO角度看,只要描述在直接访问的第一页可见,就已满足核心要求,无需在所有分页页面重复显示,以避免潜在的重复内容问题…

    2026年9月23日
    100

发表回复

登录后才能评论
关注微信