平滑升级!一文掌握CSS过渡与动画属性,让你的网页动起来!
moboyou 2025-07-16 04:04 4 浏览
“这里是云端源想IT,帮你轻松学IT”
嗨~ 今天的你过得还好吗?
找一颗属于你自己的星星吧
它会给你指引方向
一直到天明
- 2024.04.12 -
在网页设计中,动画效果是吸引用户眼球的重要手段。CSS动画中的过渡属性(transition)和动画(animation)属性,就像是设计师手中的魔法棒,可以让元素在页面上动起来,增加视觉吸引力,提升用户体验。
今天,我们就来揭秘这两个神奇的属性,看看它们是如何让网页变得生动活泼的。
一、过渡属性(transition)
过渡属性是CSS中的一种基本动画效果,它可以让元素的某个属性在一定的时间内平滑地从一个值变化到另一个值。这种变化可以是颜色、大小、位置等任何可以改变的属性。
属性值
1、transition-property:指定要执行过渡的属性
- 多个属性间使用,隔开;
- 如果所有属性都需要过渡,则使用all关键字;
- 大部分属性都支持过渡效果;
- 注意过渡时必须是从一个有效数值向另外一个有效数值进行过渡;
2、transition-duration:指定过渡效果的持续时间
- 时间单位:s 和 ms(1s=1000ms)
3、transition-delay:过渡效果的延迟,等待一段时间后在执行过渡
4、
transition-timing-function:过渡的时序函数
- linear匀速运动
transition-timing-function: linear;
- ease 默认值,慢速开始,先加速后减速
transition-timing-function: ease;
- ease-in 加速运动
transition-timing-function: ease-in;
- ease-out 减速运动
transition-timing-function: ease-out;
- ease-in-out 先加速后减速
transition-timing-function: ease-in-out;
- cubic-bezier()来指定时序函数
transition-timing-function: cubic-bezier(0.17, 1.79, 0.68, -0.69);
- steps()分步执行过渡效果,可以设置第二个值:
end,在时间结束时执行过渡(默认值);start,在时间开始时执行过渡
/* transition-timing-function: steps(2, end); */
transition-timing-function: steps(2);
transition-timing-function: steps(2, start);
5、transition:可以同时设置过渡相关的所有属性
只有一个要求,如果要写延迟,则两个时间中第一个是持续时间,第二个是延迟时间。
示例:
/* transition: margin-left 2s 1s; */
transition-property: margin-left;
transition-duration: 2s;
transition-delay: 1s;
CSS中的animation属性是一个功能强大的工具,它允许开发者通过纯CSS的方式创建丰富的动画效果,从而增强网页的交互性和视觉吸引力。
二、动画(animation)属性
动画(animation)是CSS中的另一种属性,它比过渡更强大,可以创建更复杂的动画效果。动画允许我们定义关键帧,然后在这些关键帧之间创建平滑的过渡。
这意味着,我们可以让元素在一段时间内完成一系列的样式变化,从而创建出更丰富、更生动的动画效果。
设置动画效果,必须先要设置一个关键帧,关键帧设置了动画执行每一个步骤
@keyframes test {
from {
margin-left: 0;
}
to {
margin-left: 900px;
}
}
属性值:
1、animation-name:此属性指定要绑定到选择器的关键帧名称。关键帧是定义动画序列的地方,通过@keyframes规则创建。
2、animation-duration:定义动画完成一个周期所需的时间长度,可以设置成秒(s)或毫秒(ms)。必须明确指定该属性,因为默认值是0,如果设置为0,则动画不会播放。
3、animation-timing-function:指定动画如何完成一个周期的时间曲线,例如线性、缓动等。这决定了动画的速度在整个周期内是如何变化的。
4、animation-delay:设定动画在开始前延迟的时间,同样可设置单位为秒或毫秒。可以用来延迟动画的开始时间。
5、animation-iteration-count:确定动画循环播放的次数,可以是特定的数字或者infinite表示无限循环。
- infinite 无限执行
6、animation-direction:规定动画在每次循环时是否反向播放,常用的值有normal(正常)和alternate(交替)。
- normal 从from向to运行,每次都是这样,默认值
- reverse 从to向from运行,每次都是这样
- alternate 从from向to运行,重复执行动画时反向执行
- alternate-reverse 从to向from运行,重复执行动画时反向执行
想要快速入门前端开发吗?推荐一个前端开发基础课程,这个老师讲的特别好,零基础学习无压力,知识点结合代码,边学边练,可以免费试看试学,还有各种辅助工具和资料,非常适合新手!点这里前往学习哦!云端源想
7、animation-fill-mode:定义动画在开始前和结束后的状态,比如可见或隐藏。
- none 动画执行完毕,元素回到原来位置,默认值
- forwards 动画执行完毕,元素会停止在动画结束的位置
- backwards 动画延时等待时,元素就会处于开始位置
- both 结合了forwards和backwards
8、animation-play-state:控制动画是否正在运行或暂停,常见的值有running(运行)和paused(暂停)。
此外,在使用animation属性时,至少需要指定两个属性:动画的名称和动画的持续时间。其他属性可以根据需要选择性地设置,以达到预期的动画效果。
示例
/* animation-name: test;
animation-duration: 2s;
animation-delay: 2s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
animation-fill-mode: both; */
animation: test 2s 2s linear infinite alternate both;
总结来说,CSS的animation属性提供了一种在不使用JavaScript的情况下,通过纯CSS实现网页元素动画的方式。它能够使元素从一种样式平滑过渡到另一种样式,增强用户的视觉体验。
通过这篇文章,我们了解了CSS动画中的过渡属性和动画属性的基本概念和应用。它们可以帮助我们创建出各种吸引人的动画效果,让我们的网页更加生动有趣。
记住,好的动画效果应该是恰到好处的,过多的动画可能会让用户感到困扰。所以,让我们一起用好这两个属性,创造出更好的用户体验吧!
我们下期再见!
END
文案编辑|云端学长
文案配图|云端学长
内容由:云端源想分享
相关推荐
- 都说PHP性能差,但PHP性能真的差吗?
-
今天本能是想测试一个PDO持久化,会不会带来会话混乱的问题先贴一下PHP代码,代码丑了点,但是坚持能run就行,反正就是做个测试。<?php$dsn='mysql:host=l...
- PHP 性能分析与实验——性能的宏观分析
-
对PHP性能的分析,我们从两个层面着手,把这篇文章也分成了两个部分,一个是宏观层面,所谓宏观层面,就是PHP语言本身和环境层面,一个是应用层面,就是语法和使用规则的层面,不过不仅探讨规则,更辅...
- 深入浅出之JWT(JSON Web Token)(深入浅出之类的词语)
-
什么是JWT?JWT是JSONWebToken的缩写,它是一种开源标准(RFC7519),用来定义通信双方如何安全地交换信息的格式。本身定义比较简单,结合实践经验,我总结了几点能够更好地帮助理解...
- PHP的Cookie使用详解(php cookbook)
-
什么是CookieCookie是保存在浏览器端的一些数据,是http协议的一部分,一般用于保存用户的登录信息,当浏览器发送http请求时,会将Cookie封装在http协议的头信息中,和其他数据一块儿...
- PHP8中获取并删除数组中第一个元素-PHP8知识详解
-
我在上一节关于数组的教程,讲的是在php8中获取并删除数组中最后一个元素,今天分享的是相反的:PHP8中获取并删除数组中第一个元素。回顾一下昨天的知识,array_pop()函数将返回数组的最后一个元...
- 从PHP开始学渗透 -- GET请求和POST请求
-
成年人只管利益,小孩子才分对错。。。----网易云热评一、GET请求1、get可以理解为一个系统定义好的数组2、通过var_dump看一下GET的类型,浏览器访问网址,后面加上"?aiyo...
- 黑客不会告诉你的10个Linux渗透测试工具
-
凌晨两点,我盯着目标企业的边界防火墙日志——所有端口都被封禁,IDS(入侵检测系统)警报安静得诡异。正当我以为这是一场“不可能完成”的渗透测试时,搭档发来一条消息:“试试LinPEAS,你可能会发现惊...
- Facebook 前端技术栈重构分享(facebook的技术)
-
作者:@AshleyWatkins,RoyiHagigi译者:阿里@张克军转发连接:https://www.yuque.com/docs/share/6aee9dd5-da3f-462b-b4b...
- 平滑升级!一文掌握CSS过渡与动画属性,让你的网页动起来!
-
“这里是云端源想IT,帮你轻松学IT”嗨~今天的你过得还好吗?找一颗属于你自己的星星吧它会给你指引方向一直到天明-2024.04.12-在网页设计中,动画效果是吸引用户眼球的重要手段。CSS动画...
- 如何在前端通过JavaScript创建修改CAD图形
-
背景在之前的博文CAD图DWG解析WebGIS可视化技术分析总结、CAD_DWG图Web可视化一站式解决方案-唯杰地图-vjmap中讲解了如何把CAD的DWG格式的图纸Web可视化的方案,那在Web前...
- 零基础教你学前端——47、SVG绘制路径
-
在SVG中,使用path标签来定义一个路径。它是一个单标签,基本语法为:尖角号path,斜线尖角号。应用路径,我们可以绘制任意形状的图形。path标签的重要属性d,用来定义绘制路径的命令,d...
- 回流焊温度曲线知识讲解(回流焊温度曲线图讲解)
-
回流焊温度曲线知识讲解回流焊在业内俗称炉子,按类型分有普通空气炉,氮气炉、真空炉,普通的产品用空气炉,对气泡率要求低的则需要选择氮气炉或真空炉,一般这些都是高端产品,集中在航空航天、半导体、军工等对品...
- MFC转QT:Qt高级特性 - 样式表(qt页面切换的样式)
-
Qt样式表概述Qt样式表(QtStyleSheets)是基于CSS的样式系统,允许开发者以类似于Web前端的方式定制Qt应用程序的外观。这一特性极大地简化了Qt应用的界面定制,提供了比MFC更强大...
- 详解CSS3中的动画效果:从基础到进阶实战
-
引言CSS3引入了强大的动画功能,使得开发者能够在不依赖JavaScript的情况下创建丰富的视觉动效。本文将深入探讨CSS3动画的核心概念、主要特性以及如何通过关键帧动画和过渡效果实现各类动画效果。...
- 只会柱状图、饼状图、折线图怎么行,来用Python画个热力图
-
花花世界迷人眼,东西太多不知选?万物存在即合理,不知根本,难得善法。术业有专攻,凡事不能蛮干,不知怎么画热力图,请往下看。第一步:安装并导入相关包主要用到了pandas和pyecharts这两个包,p...
- 一周热门
- 最近发表
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)
- github好玩的php项目 (18)
- 云电脑app源码 (22)
- html画折线图 (24)