Day10_CSS过度动画

news2024/11/22 21:54:13

Day10_CSS过度动画

背景 : PC和APP项目我们已经开发完毕, 但是再真正开发的时候有些有些简易的动态效果我们可以使用CSS完成 ; 本节课我们来使用CSS完成基础的动画效果

今日学习目标

  1. CSS3过度
  2. CSS3平面动态效果
  3. CSS3动画效果
  4. 案例

1. CSS3过渡

​ 含义 :过渡指的是元素从一种状态向另外一种状态进行缓慢的改变, 这种缓慢的效果被称之为过度 ; 过度属于动画的一种, 但是这种动画需要通过鼠标事件才能触发 , 没有鼠标事件是不能触发该属性的;

​ 基本语法 : transition : all 3s linear 5s ;

​ 释义 : transition代表的是过度属性 ( 复合属性 )

​ all : 代表的是所有能参与过度动画的属性 ;

​ 3s : 代表的是过度动画执行需要花费的时间 ;

​ linear : 代表的是过度动画的动画类型;

​ 5s : 代表的是过渡到动画的延迟执行;

​ 案例 :

<style>
    div:hover{
        width:500px;
        height:500px;
        border-radius:50%;
        backhground-color:green;
    }
    div{
        width:300px;
        height:300px;
        background-color:red;
        border:10px solid gray;
        /*在这里过度动画放在初始效果里面, 能实现缓慢开始, 缓慢结束, 如果把过度属性放在鼠标事件属性中, 只有缓慢开始没有缓慢结束*/
        transition:all 3s linear 5s;
    }
</style>
<div></div>

​ 单一属性 :

​ transition-property : 所有能参与过度的动画属性; 如果使用单一属性的话, 后面多个属性之间使用逗号隔开, 但是多个属性可以直接使用all代替; 需要注意的是 : display, visibility , 渐变不参与过度 ;

​ transition-duration : 过度动画需要花费的时间 ;

​ transition-timing-function : 过度动画执行的类型

​ 取值 :

​ a) ease : 平滑过渡

​ b) ease-in : 由慢到快

​ c) ease-out : 由快到慢

​ d) ease-in-out : 由慢到快再到慢

​ e) linear : 线性过渡 , 匀速直线运动

​ f) steps() : 按照步骤执行

​ g) 贝塞尔曲线 : cubic-bezier(, , , )

​ transition-delay: 过度动画的延迟执行 ;
在这里插入图片描述

2. CSS3平面动态交互

​ 含义 : CSS3平面动态效果, 其实就是平面上面的平移 , 旋转 , 缩放 , 倾斜等高级函数 ; 接下来我们要学习四个高级函数 , 但是四个高级函数 , 共用一个属性 : transform属性 ;

​ 注意 : transform也是动画的一种, 这种动画也需要配合鼠标事件才能完成, 如果想要实现缓慢的改变, 则需要配合transition过度动画;

1)平移函数

在这里插入图片描述

​ 含义 : 指的是, 平面X轴和Y轴上面的移动动画

​ 基本语法 : transform : translateX(number) / translateY(number) / translate(x,y)

​ 释义 :

​ translateX(number) : 代表的是水平平移; 取值+向右平移, 取值-向左平移

​ translateY(number) : 代表的是垂直平移; 取值+向下平移, 取值-向上平移

​ translate(x,y) : 代表的是水平和垂直方向平移, 如果取值为一个值, 则只能实现一个方向

​ 案例 :

<style>
    div:hover{
        transform:translateX(200px)
    }
    div{
        width:200px;
        height:200px;
        border:10px solid gray;
        background-color:red;
        /*如果想要实现缓慢的移动, 则需要讲过度属性方法初始效果中*/
        transition:all linear 3s
    }
</style>
<div></div>

2)旋转函数

在这里插入图片描述

在这里插入图片描述

​ 含义 : 指的是 元素能在平面上面进行旋转的动画

​ 基本属性 : transform : rotateX(deg) / rotateY(deg) / rotate(deg)

​ 释义 :

​ rotateX() : 元素绕着X轴进行旋转 ; 类似于 : 烤全羊 , 水井上面的辘辘

​ rotateY() : 元素绕着Y轴进行旋转 ; 类似于 : 吊炉烤鸭 ;

​ rotate() : 元素绕着中心点进行旋转 ; 中心点 ( 位于元素正中心位置 )

​ 问题 : 元素默认是绕着中心点进行旋转, 如果调整旋转中心?

​ 属性 : transform-origin : x y; x代表的是水平位置, y代表的是垂直位置; 旋转中心可以再元素内部, 也可以位于元素外边

​ 注意 : 旋转中心一般需要放在初始效果中 ;

​ 案例 :

<style>
    div{
        width:200px;
        height:300px;
        background-color:red;
        margin:100px auto;
        /*默认的旋转中心再元素正中心位置*/
        /*调增旋转中心*/
        transform-origin: -20px -20px;
    }
    div:hover{
        transform:rotate(30deg)
    }
</style>
<div></div>

3)缩放函数

在这里插入图片描述

​ 含义 : 通过平面上面的缩放函数, 来实现元素的缩小和放大

​ 基本语法 : transform : scaleX() / scaleY() / scale()

​ 释义 :

​ scaleX() : 元素沿着X轴进行缩小放大 : 取值+为x轴方向放大 , 取值-为x轴方向缩小

​ scaleY() : 元素沿着Y轴进行缩小放大 : 取值+为y轴方向放大 , 取值-为y轴方向缩小

​ scale() : 元素沿着中心点进行缩小放大 , 取值为一个值的时候, 代表了水平和垂直两个方向, 取值为两个值的时候, 第一个值代表的水平方向, 第二个值代表的是垂直方向;

​ 案例 :

<style>
    div{
        width:300px;
        height:300px;
        border:10px solid gray;
        /*如果想要实现缓慢的缩放, 需要配合过度属性*/
        transition:all 3s linear;
    }
    div:hover{
        /*鼠标放在上面的时候, 元素*/
        transform:scale(2)
    }
</style>
<div></div>

4)倾斜函数

在这里插入图片描述

​ 含义 : 倾斜效果类似于旋转 , 但是意义不一样 , 倾斜是沿着都一个轴线进行倾斜 , 就像是军训的时候教官让我们站军姿 , 身体向前倾斜一样 ; 倾斜的时候会与X轴或者是Y轴形成一个夹角

​ 基本语法 : transform : skew() / skewX() / skewY()

​ 释义 :

​ skew(参数1, 参数2) : 代表的是沿着x轴和y轴进行倾斜, 参数1和参数2代表的是对应倾斜度数

​ skewX(参数) : 代表的是沿着x轴进行倾斜; 与y轴形成夹角

​ skewY(参数) : 代表的是沿着Y轴进行倾斜; 与x轴形成夹角
在这里插入图片描述
在这里插入图片描述

​ 案例 :

<style>
    div{
        width:300px;
        height:300px;
        border:10px solid gray;
        /*如果想要实现缓慢的倾斜, 需要配合过度属性*/
        transition:all 3s linear;
    }
    div:hover{
        /*鼠标放在上面的时候, 元素*/
        transform:skewX(30deg)
    }
</style>
<div></div>

3. CSS3动画

​ 含义 : CSS3里面的动画指的是animation动画 , animation动画是真整意义上的动画, 不依靠鼠标事件就能完成动画的执行 ;

​ 基本语法 : animation : name 5s linear 3s infinite alternate 注意 : animation属性是一个复合属性; 后面的取值均有对应的单一属性

​ 基本释义 :

​ animation : 是触发动画的属性 , 一般哪里需要调用动画

​ name : 调用动画 , 声明动画的名字 , 想要使用animation属性必须得声明动画;

​ 5s : 动画执行的时间

​ linear : 动画执行的类型

​ 3s : 动画延迟执行

​ infinite : 动画制定的次数, 可以为数值, 数值代表执行多少次, infinite代表的无穷尽的一直执行;

​ 声明动画 :

@keyframes mymove{ 
	from{
		初始状态属性
	}
	to{
		结束状态属性
	}
}
或
@keyframes mymove{
	0%{
		初始状态属性
	}
	100%{
		结束状态属性
	}
}(中间再可以添加关键帧)

​ 单一属性 :

animation-name  检索或设置对象所应用的动画名称
animation-duration  检索或设置对象动画的持续时间
animation-timing-function  检索或设置对象动画的过渡类型
	linear	动画从头到尾的速度是相同的。	测试
    ease	默认。动画以低速开始,然后加快,在结束前变慢。	测试
    ease-in	动画以低速开始。	测试
    ease-out	动画以低速结束。	测试
    ease-in-out	动画以低速开始和结束。	测试
    cubic-bezier(n,n,n,n)	在 cubic-bezier 函数中自己的值。可能的值是从 0 到 1 的数值。
animation-delay  检索或设置对象动画延迟的时间
animation-iteration-count  检索或设置对象动画的循环次数
animation-direction  检索或设置对象动画在循环中是否反向运动
	normal:正常方向
	reverse:反方向运行
	alternate:动画先正常运行再反方向运行,并持续交替运行
	alternate-reverse:动画先反运行再正方向运行,并持续交替运行
animation-play-state  检索或设置对象动画的状态
	running:运动
	paused: 暂停

4. 案例

<style>
    *{margin:0;padding:0}
    div{
        width:300px;
        height:300px;
        background-color:red;
        /*2)调用动画*/
        animation:change 3s linear 5s 5 alternate
    }
    /*1)声明动画*/
    @keyframes change{
        /*初始样式*/
        0%{
            /*如果初始样式和默认样式一模一样, 则可以省略不写*/
            width:300px;
            height:300px;
            background-color:red;
        }
        /*中间可以添加更多的关键帧;增加多处百分比*/
        /*结束样式*/
        100%{
            width:500px;
            hieght:500px;
            background-color:green;
            border-radius:50%;
        }
    }
    /*鼠标悬停的时候,能让动画停止;*/
    div:hover{
        animation-play-state:paused
    }
</style>
<div></div>

5. 综合案例

案例1 : 平移案例

案例2 : 旋转案例

案例3 : 缩放案例

案例4 : 动画案例

案例5 : 关键帧动画

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

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

相关文章

iOS应用网络安全之HTTPS

移动互联网开发中iOS应用的网络安全问题往往被大部分开发者忽略, iOS9和OS X 10.11开始Apple也默认提高了安全配置和要求. 本文以iOS平台App开发中对后台数据接口的安全通信进行解析和加固方法的分析. 1. HTTPS/SSL的基本原理 安全套接字层 (Secure Socket Layer, SSL) 是用来…

excel版数独游戏(已完成)

前段时间一个朋友帮那小孩解数独游戏&#xff0c;让我帮解&#xff0c;我看他用电子表格做&#xff0c;只能显示&#xff0c;不能显示重复&#xff0c;也没有协助解题功能&#xff0c;于是我说帮你做个电子表格版的“解题助手”吧&#xff0c;不能直接解题&#xff0c;但该有的…

金融数据中心容灾“大咖说” | 美创科技赋能“灾备一体化”建设

中国人民银行发布的《金融数据中心容灾建设指引》&#xff08;JR/T 0264—2024&#xff09;已于2024年7月29日正式实施。这一金融行业标准对金融数据中心容灾建设中的“组织保障、需求分析、体系规划、建设要求、运维管理”进行了规范和指导。面对不断增加的各类网络、业务、应…

Qt:信号槽

一. 信号槽概念 信号槽 是 Qt 框架中一种用于对象间通信的机制 。它通过让一个对象发出信号&#xff0c;另一个对象连接到这个信号的槽上来实现通信。信号槽机制是 Qt 的核心特性之一&#xff0c;提供了一种灵活且类型安全的方式来处理事件和数据传递。 1. 信号的本质 QT中&a…

SpringBoot与MongoDB深度整合及应用案例

SpringBoot与MongoDB深度整合及应用案例 在当今快速发展的软件开发领域&#xff0c;NoSQL数据库因其灵活性和可扩展性而变得越来越流行。MongoDB&#xff0c;作为一款领先的NoSQL数据库&#xff0c;以其文档导向的存储模型和强大的查询能力脱颖而出。本文将为您提供一个全方位…

大数据调度组件之Apache DolphinScheduler

Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系&#xff0c;使调度系统在数据处理流程中开箱即用。 主要特性 易于部署&#xff0c;提供四种部署方式&#xff0c;包括Standalone、Cluster、Docker和…

ThinkPHP6门面(Facade)

门面 门面&#xff08;Facade&#xff09; 门面为容器中的&#xff08;动态&#xff09;类提供了一个静态调用接口&#xff0c;相比于传统的静态方法调用&#xff0c; 带来了更好的可测试性和扩展性&#xff0c;你可以为任何的非静态类库定义一个facade类。 系统已经为大部分…

MySQL win安装 和 pymysql使用示例

目录 一、MySQL安装 下载压缩包&#xff1a; 编写配置文件&#xff1a; 配置环境变量&#xff1a; 初始化服务和账户 关闭mysql开机自启&#xff08;可选&#xff09; 建议找一个数据库可视化软件 二、使用pymysql操作数据库 安装pymysql 示例代码 报错处理 一、My…

Parker派克防爆电机在实际应用中的安全性能如何保证?

Parker防爆电机确保在实际应用中的安全性能主要通过以下几个方面来保证&#xff1a; 1.防爆外壳设计&#xff1a;EX系列电机采用强大的防爆外壳&#xff0c;设计遵循严格的防爆标准&#xff0c;能够承受内部可能发生的爆炸而不破损&#xff0c;利用间隙切断原理&#xff0c;防…

空间与单细胞转录组学的整合定位肾损伤中上皮细胞与免疫细胞的相互作用

result 在空间转录组图谱中对人类肾脏进行无监督映射和细胞类型鉴定 我们试图在H&E染色的人类参考肾切除标本组织切片上直接映射转录组特征。该组织来自一名59岁的女性&#xff0c;其肾小球闭塞和间质纤维化程度最低&#xff08;分别影响不到10%的肾小球或肾实质&#xff…

greater<>() 、less<>()及运算符 < 重载在排序和堆中的使用

简略图 greater<>()(a, b) a > b 返回true&#xff0c;反之返回false less<>()(a, b) a < b 返回true&#xff0c;反之返回false 在cmp中使用&#xff08;正着理解&#xff09; 规则返回true时a在前&#xff0c;反之b在前 在priority_queue中使用 &#xff…

详细描述一下Elasticsearch索引文档的过程?

大家好&#xff0c;我是锋哥。今天分享关于【详细描述一下Elasticsearch索引文档的过程&#xff1f;】面试题。希望对大家有帮助&#xff1b; 详细描述一下Elasticsearch索引文档的过程&#xff1f; Elasticsearch的索引文档过程是其核心功能之一&#xff0c;涉及将数据存储到…

入门车载以太网(6) -- XCP on Ethernet

目录 1.寻址方式 2.数据帧格式 3.特殊指令 4.使用实例 了解了SOME/IP之后&#xff0c;继续来看看车载以太网在汽车标定领域的应用。 在汽车标定领域XCP是非常重要的协议&#xff0c;咱们先来回顾下基础概念。 XCP全称Universal Measurement and Calibration Protocol&a…

Python中常用的函数介绍

Python中常用的几种函数 1、input函数 input()函数&#xff1a;主要作用是让用户输入某个内容并接收它。 #输入你的年龄 >>> age input("my age is :") my age is :20 执行代码后输入年龄&#xff0c;年龄被存放到age变量中&#xff0c;执行print后终端会…

Ubuntu从入门到精通(二)远程和镜像源配置齐全

Ubuntu从入门到精通(二) 1 常见操作配置 1.1 英文语言配置 1.1.1 打开设置 1.1.2 设置语言为英文 1.1.3 重启生效 1.1.4 再次进入,选择更新名字 1.1.5 再次进入,发现已经变成了英文 1.2 输入法配置 1.3 rustdesk安装 1.3.1 Windows系统配置 登陆:https://github.com…

卷积神经网络(CNN)中的池化层(Pooling Layer)

池化层&#xff08;Pooling Layer&#xff09;&#xff0c;也被称为下采样层&#xff0c;是深度学习神经网络中常用的一种层级结构。它通常紧跟在卷积层之后&#xff0c;对卷积层输出的特征图进行下采样操作。 一、定义与功能 池化层的主要作用是通过减少特征图的尺寸来降低计算…

【linux硬件操作系统】计算机硬件常见硬件故障处理

这里写目录标题 一、故障排错的基本原则二、硬件维护注意事项三、关于最小化和还原出厂配置四、常见故障处理及调试五、硬盘相关故障六、硬盘相关故障&#xff1a;硬盘检测问题七、硬盘相关故障&#xff1a;自检硬盘报错八、硬盘相关故障&#xff1a;硬盘亮红灯九、硬盘相关故障…

《操作系统》实验内容 实验二 编程实现进程(线程)同步和互斥(Python 与 PyQt5 实现)

实验内容 实验二 编程实现进程&#xff08;线程&#xff09;同步和互斥 1&#xff0e;实验的目的 &#xff08;1&#xff09;通过编写程序实现进程同步和互斥&#xff0c;使学生掌握有关进程&#xff08;线程&#xff09;同步与互斥的原理&#xff0c;以及解决进程&#xf…

智慧路面管理系统平台 智慧照明 智慧市政 智慧交通

智慧路面管理系统平台   智慧路面管理系统平台&#xff0c;旨在提高城市道路的智能化水平和交通效率。该系统通过集成传感器、摄像头、监控设备、大数据、云计算等多种技术手段&#xff0c;实现对道路状况和交通流量的实时监测与分析&#xff0c;从而提供精准的交通数据和智能…

数据结构 ——— 判断一棵树是否是完全二叉树

目录 满二叉树和完全二叉树示意图 手搓一个完全二叉树 代码实现 满二叉树和完全二叉树示意图 注意区分满二叉树和完全二叉树 满二叉树的每一层都是满的&#xff0c;也就是除了叶子节点&#xff0c;其他节点都有左右节点 完全二叉树的最后一层不一定是满的&#xff0c;但是从…