HTML---利用CSS3制作网页动画

文章目录

  • 目录

    文章目录

    本章目标

     一.CSS3概述

    CSS函数概述

    二.CSS3变形

    transform属性

    translate():平移函数

     scale():缩放函数

    rotate():旋转函数

     skew():倾斜函数

    三.CSS3过渡 

    四.CSS动画 

    练习

    旋转按钮


本章目标

  • 会使用transfoem 2D 变形设置网页元元素
  • 会使用transition制作过渡动画
  • 会使用animation制作网页动画

 一.CSS3概述

   CSS3是HTML的样式语言,它用于描述和控制HTML文档的外观和布局。CSS3是CSS的最新版本,引入了一些新的特性和模块,以增强样式表的功能和灵活性。

CSS函数概述

CSS函数是一种用于处理CSS属性值的特殊函数。它们可以接受特定的指令(输入参数),并执行指令的相应动作,并返回执行结果,然后将该结果用作CSS属性的值。

函数名(参数1, 参数2, ...)函数名称:函数的名称用于识别和调用特定的函数。例如,rgb()是一个用于设置颜色的函数。参数:函数接受一个或多个参数,用于指定函数执行时的数据。参数可以是固定值(如数字或字符串),也可以是变量或其他表达式。参数之间用逗号分隔。返回值:函数的执行结果可以作为值返回。返回值可以是一个具体的值(如颜色值或长度值),也可以是一个变量。

二.CSS3变形

transform属性

  • CSS3变形是一些效果的集合,如平移,旋转,缩放,倾斜效果。
  • 每个效果都可以称为变形(transform),可以分别操控元素发生平移,旋转,缩放,倾斜等变化。

语法:

transform:[变形函数] *;

 变形函数:

312b76146a5c47aaaf3cb7a41c5c0ac8.png

  •  演示案例:
  • <!DOCTYPE html>
    <html><head><meta charset="utf-8"><title></title><style type="text/css">li{list-style: none;float: left;width: 80px;line-height: 40px;background-color: orange;border-radius: 6px;font-size: 16px;margin-left: 3px;}li a{text-decoration: none;/**去除下划线**/color: #fff;display: block;/**将行元素改变为块元素从而设置高度**/text-align: center;height: 40px;}li a:hover{background-color: rgba(242, 88, 6, 0.87);border-radius: 6px;}</style></head><body><ul><li><a href="#">服装城</a></li><li><a href="#">美妆馆</a></li><li><a href="#">超市</a></li><li><a href="#">全球购</a></li><li><a href="#">闪购</a></li><li><a href="#">团购</a></li><li><a href="#">拍卖</a></li><li><a href="#">金融</a></li></ul></body>
    </html>

    9f9b028f112943759ab68c51e6ab2bbc.png

translate():平移函数

语法:

  • 正号:右,下/ 负号:左,上
li a:hover{ /**正号:右,下 负号:左,上**/transform: translate(4px,4px);}

dff0bce0e2d646f5835d322f1e333e53.png

设置平移函数后点击图标后图标向右下方发生平移,效果如上图。

 scale():缩放函数

语法:

  • 正号:放大/ 负号:缩小
li a:hover{ /**正号:放大 负号:缩小**/transform: scale(2);}

b5d4bba968c347169f6ea5bea5dd53eb.png

 设置缩放函数后点击图标后图标放大2倍,如上图所示。

rotate():旋转函数

语法:

<style type="text/css">img:hover{transform: rotate(-90deg);}
</style>

 演示案例:

e3d32a8ee0b34d7892b694a21dbcefd4.png

 设置旋转函数后点击图片后,图片逆时针旋转90°。效果如下图。

e3e2b3d6c3f74b7abbf7184300ef13b4.png

 skew():倾斜函数

 语法:

li a:hover{transform: skew(40deg,0deg);}

1988ba2c6e1946e796dceb4d2e5292cc.png

 设置倾斜函数后点击图标后图标倾斜,效果如上图所示。

三.CSS3过渡 

transition

  • transition呈现的是一种过渡,是一种动画转换的过程,如渐现、渐弱、动画快慢等
  • CSS3 transition的过渡功能更像是一种“黄油”,通过一些CSS的简单动作触发样式平滑过渡

 

08e5bf53924141ada96b2a715888f9b1.png

  •  函数

0d134689465142d396aebb3a8b750571.png

9c4b951ae0054109b09fb9a467538b76.png

4e2899f0a0a8461790c68123e6628c65.png

00cefc572f0a4f78bd24989d8897267e.png

 触发机制:

30d0d4e0128d40d38d705576be6c67e2.png

 演示案例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">div{width: 500px;height: 31.25rem;background-color: blue;/**针对背景颜色设置过渡动画效果**/transition: background-color 4s ease-in-out 5s ;}/**引入过渡动画效果**/div:hover{background-color: red;}</style></head><body><div></div></body>
</html>

上述代码执行后,边框背景颜色将由蓝色经过5s延迟,最终经过执行时间4s后变为红色。 

四.CSS动画 

调用关键帧
动画名称关键帧 帧名
动画播放状态设置动画重新播放或暂停
动画方式动画实实现的方式(参考过渡动画)
动画开始前/结束后的操作设置动画开始/结束后执行的操作
动画播放方向设置动画正序或倒序播放

 演示案例:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">div{width: 200px;height: 200px; background-color: aquamarine;/**调用关键帧**/animation: sp1 3s linear infinite;}/**创建动画关键帧**/@keyframes sp1{0%{transform: translate(100px,0px);}50%{transform: translate(300px,0px);}100%{transform: translate(100px,100px);}}</style></head><body><div></div></body>
</html>

执行后,网页中的框图将从左👉右👉左下👉回到起点。

tupia


练习

9f8392df85c4402fba2f160aa5a80511.png

<html><head><meta charset="utf-8"><title></title><style type="text/css">/**使用结构伪类选择器选中所有偶数子元素 even:偶数的集合**/div img:nth-child(even){width: 200px;}div img:nth-child(odd){width: 300px;}.box{width: 960px;margin: 200px auto;/**盒子居中**/position: relative;}.box img{border: 1px solid #ddd;padding: 10px;/**针对所有img设置绝对定位,使用img浮动**/position: absolute;background: #fff;z-index: 1;transition: all 0.5s ease-in-out; }.box img:nth-child(1){/**针对浮动后的img单独设置偏移量**/top: 0px;left: 300px;transform: rotate(-15deg);/**旋转函数**/}.box img:nth-child(2) {top:-50px;left: 600px;transform: rotate(-20deg);}.box img:nth-child(3) {bottom: 0;right: 0;transform: rotate(15deg);}.box img:nth-child(4) {bottom: 0;left: 400px;transform: rotate(-20deg);}.box img:nth-child(5) {bottom: 0;left: 0;transform: rotate(-30deg);}.box img:nth-child(6) {top: 0;left: 0;transform: rotate(20deg);}.box img:nth-child(7) {top: 0;left: 700px;transform: rotate(20deg);}.box img:nth-child(8) {bottom: -20px;right: 500px;transform: rotate(30deg);}.box img:nth-child(9) {top: 90px;left: 550px;transform: rotate(15deg);}.box img:nth-child(10) {left: 180px;top: 20px;transform: rotate(-10deg);}	.box img:hover{/**设置鼠标选中后的样式**//**设置堆叠的优先级:鼠标点击后优先展示**/z-index: 2;box-shadow: 5px 5px 5px #ddd;/**针对所有的img设置动画样式**/transform: rotate(0deg) scale(1.5); }	</style></head><body><div class="box" id="box"><img src="image/1.jpg" alt=""/><img src="image/2.jpg" alt=""/><img src="image/3.jpg" alt=""/><img src="image/4.jpg" alt=""/><img src="image/5.jpg" alt=""/><img src="image/6.jpg" alt=""/><img src="image/7.jpg" alt=""/><img src="image/8.jpg" alt=""/><img src="image/9.jpg" alt=""/><img src="image/10.jpg" alt=""/></div></body>
</html>

旋转按钮

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">div{width: 200px; height: 200px;border: 5px solid white;margin: 200px auto;border-radius: 200px;overflow: hidden;transition:transform 4s ease-in-out 4s;}div:hover{transform: scale(2) rotate(270deg);}</style></head><body><div><img src="index1.png" width="200px" height="200px"></div></body>
</html>


<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">*{/*针对所有元素设置内外边距*/padding: 0px;margin: 0px;}body{padding :20px 0px 0px;}li{/*去除无序列表样式:去除列表前的点号*/list-style: none;}#father{width: 665px;margin: 0px auto;font-size: 12px;border: 1px solid #CCCCCC;}#father:after{/**使用after伪类防止父级边框塌陷**/content: '';display: block;clear: both;}#left{float: left;width: 223px;}			#left h3{/*使用结构伪类选择器针对 left边框中所有h3标签设置样式*/font-size: 14px;color: #4b4b4b;margin: 40px 0px 0px 20px;}#left p{margin: 20px 0px 0px 20px;}#left img{margin: 60px 0px 20px 40px;}#right{float: left;width: 440px;}#right li{float: left;width: 218px;height: 150px;border-bottom: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;}.text{float: left;}.text h3{font-size: 14px;color: #4b4b4b;margin: 20px 0px 0px 20px;}.text p{margin: 10px 0px 0px 20px;}.img{float: right;margin-top: 30px;transition: all 1s ease-in-out ;}.img:hover{transform: translate(-12px,0px);}</style></head><body><div id="father"><div id="left"><h3>超级信用卡</h3><p>线上线下课累计彩贝积分</p><img src="1.bmp"/></div><div id="right"><ul><li><div class="text"><h3>彩贝抢霸</h3><p>每天10点更新</p></div><div class="img"><img src="2.bmp"/></div></li><li><div class="text"><h3>热门优惠券</h3><p>全场免费领取</p></div><div class="img"><img src="3.bmp"/></div></li><li><div class="text"><h3>促销活动</h3><p>汇集全网优惠</p></div><div class="img"><img src="4.bmp"/></div></li><li><div class="text"><h3>精挑细选</h3><p>给你最好的选择</p></div><div class="img"><img src="5.bmp"/></div></li></ul></div></div></body>
</html>

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

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

相关文章

“从零到一“基于Freeswitch二次开发: 应用架构设计(二)

一、架构分享 上一篇文章“从零到一“基于Freeswitch二次开发:Freeswitch入门与网络架构 (一) 对Freeswitch二次开发做了一个介绍&#xff0c;距离这篇文章的发布时间有点久了&#xff0c;之前一直没时间把下文补上来。正好到了年末想起来&#xff0c;就把我们的一个实现架构进…

深度神经网络结构

单层的感知机不能解决“异或”问题。 在前面分别介绍了M-P神经元模型和感知机模型。在M-P神经元模型中&#xff0c;神经元接收到若干个输入信号&#xff0c;并将计算得到的加权后的总输入&#xff0c;经过激活函数的处理&#xff0c;最终产生神经元的输出。而感知机模型则由两层…

腾讯云标准型S5服务器2核2G、2核4G和4核8G五年机来了

腾讯云五年特价服务器来了&#xff0c;标准型S5云服务器&#xff0c;可选2核2G、2核4G和4核8G配置&#xff0c;一次性购买五年低至2折&#xff0c;免去续费贵烦恼。腾讯云百科txybk.com分享腾讯云5年服务器特价优惠活动、购买条件、云服务器配置及优惠价格&#xff1a; 腾讯云五…

linux文件夹介绍

在linux内核文件夹下面存在着许多文件夹&#xff0c;那么那些文件夹是什么用处呢&#xff0c;下面将为你介绍。 (1)documentation 这个文件夹下没有内核代码&#xff0c;仅仅有一套实用的文档&#xff0c;但这些文档的质量不一。比如内核文档的文件系统&#xff0c;在该文件夹下…

计算机网络——传输层(五)

前言&#xff1a; 最重要的网络层我们已经学习完了&#xff0c;下面让我们再往上一层&#xff0c;对网络层的上一层传输层进行一个学习与了解&#xff0c;学习网络层的基本概念和网络层中的TCP协议和UDP协议 目录 ​编辑一、传输层的概述&#xff1a; 1.传输层&#xff1a; …

leetcode 315. 计算右侧小于当前元素的个数(hard)【小林优质解法】

链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 代码&#xff1a; class Solution {int[]counts; //用来存储结果int[]index; //用来绑定数据和原下标int[]helpNums; //用于辅助排序 nums 数组int[]helpIndex; //用于辅助排序 i…

《Linux系统与网络管理》复习题库---shell编程题

1、shell 编程题&#xff1a;在根目录下有四个文件 m1.c&#xff0c;m2.c&#xff0c;m3.c&#xff0c;m4.c&#xff0c;用 Shell 编程&#xff0c;实现自动创建 m1,m2,m3,m4 四个目录&#xff0c;并将 m1.c,m2.c,m3.c,m4.c 四个文件分别剪贴到各自相应的目录下。 #!/bin/bash…

go module本地包导入

go module本地包导入 本文目录 go module本地包导入启用go mod主项目工作目录本地module目录发布和使用模块 golang 1.11之后加入了go mod来替代GOPATH 官方文档参考&#xff1a;https://golang.google.cn/doc/tutorial/call-module-code 启用go mod 开启 Go modules # 临时开…

【谭浩强C程序设计精讲 5】运算符和表达式

文章目录 3.3 运算符和表达式3.3.1 C运算符3.3.2 基本的算术运算符3.3.3 自增&#xff08;&#xff09;、自减&#xff08;--&#xff09;运算符3.3.4 算术表达式和运算符的优先级与结合性3.3.5 不同类型数据间的混合运算3.3.6 强制类型转换运算符 3.3 运算符和表达式 3.3.1 C…

【Java】一文讲解Java类加载机制

Java 类加载机制是 Java 运行时的核心组成部分&#xff0c;负责在程序运行过程中动态加载和连接类文件&#xff0c;并将其转换为可执行代码。理解类加载机制&#xff0c;能更容易理解你一行行敲下的Java代码是如何在JVM虚拟机上运行起来。并且理解类加载机制之后&#xff0c;我…

DevOps持续交付之容器化CICD流水线

DevOps持续交付 随着DevOps⼤规模化的落地和应⽤&#xff0c;持续集成以及持续交付已经是⼀种常态的。CI指的是持续集成&#xff0c;使⽤的开源⼯具是Jenkins&#xff0c;CD指的是持续交付和持续部署&#xff0c;⼀个完整的软件开发⽣命周期为: 主要流程可以具体为: 构建阶段…

CA和证书

安全机制 墨菲定律 如果有两种选择&#xff0c;其中一种将导致灾难&#xff0c;则必定有人会作出这种选择。即&#xff1a;做事不要有侥幸心理。 常用安全技术 认证、授权、审计、安全通信 加密算法和协议 对称加密算法 加密和解密使用同一个秘钥。 特性 加密、解密使…

Python+OpenCV 零基础学习笔记(1-3):anaconda+vscode+jupyter环境配置

文章目录 前言相关链接环境配置&#xff1a;AnacondaPython配置OpenCVOpencv-contrib:Opencv扩展 Notebook:python代码笔记vscode配置配置AnacondaJupyter文件导出 前言 作为一个C# 上位机&#xff0c;我认为上位机的终点就是机器视觉运动控制。最近学了会Halcon发现机器视觉还…

修改css、html后前端没有刷新的解决方法(图文)

修改css、html后前端没有刷新的解决方法&#xff08;图文&#xff09; 修改css、html后前端没有刷新的原因和图文解决方法 1 原因 网页的缓存机制 2 解决方法 禁用网页缓存&#xff0c;具体操作如下 打开F12网络选项勾选禁用缓存。此时再刷新页面即可实时更新 以上就是全…

元旦档首日票房超4.69亿,“下雪场尴尬”上热搜!

哇塞&#xff0c;元旦假期终于来啦&#xff01;&#x1f389;在这个喜庆的时刻&#xff0c;电影院也热闹非凡&#xff0c;据猫眼专业版数据显示&#xff0c;截至12月30日&#xff0c;2023年元旦档首日票房竟然超过了4.69亿&#xff01;这简直是个天文数字啊&#xff01;&#x…

C++:stack、queue、priority_queue增删查改模拟实现、deque底层原理

C:stack、queue、priority_queue增删查改模拟实现 前言一、Cstack的介绍和使用1.1 引言1.2 satck模拟实现 二、Cqueue的介绍和使用2.1 引言2.2 queue增删查改模拟实现 三、STL标准库中stack和queue的底层结构:deque3.1 deque的简单介绍(了解)3.2 deque的缺陷3.3 为什么选择dequ…

【2023 —— 我和CSDN相遇的第一年】— “技术学习和个人成长的回顾与展望”

​ ​ &#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 &#x1f38a;对2023的总结与回顾&#x1f38a; &#x1f3c5;获奖记录 &#x1f4da;学…

springboot定时执行某个任务

springboot定时执行某个任务 要定时执行的方法加上Schedule注解 括号内跟 cron表达式 “ 30 15 10 * * &#xff1f;” 代表秒 分 时 日 月 周几 启动类上加上EnableScheduling 注释

SpringBoot实用篇

SpringBoot实用篇 1、热部署 什么是热部署&#xff1f; 所谓热部署&#xff0c;就是在应用正在运行的时候升级软件&#xff0c;却不需要重新启动应用。对于Java应用程序来说&#xff0c;热部署就是在运行时更新Java类文件。 热部署有什么用&#xff1f; 节约时间&#xff0c;热…

OpenGL FXAA抗锯齿算法(Qt)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 之前已经提供了使用VCG读取Mesh的方式,接下来就需要针对读取的网格数据进行一些渲染操作了。在绘制Mesh数据时总会遇到图形的抗锯齿问题,OpenGL本身已经为我们提供了一种MSAA技术,但该技术对于一些实时渲染性能有…