【CSS3】CSS3动画——前端的炫酷

纯CSS3实现超酷炫的萤火虫动画 阅读详情

【CSS3】CSS3动画——前端的炫酷

博客说明

文章所涉及的部分资料来自互联网整理,当然还有自己个人的总结和看法,分享的目的在于共建社区和巩固自己。引用的资料如有侵权,请联系本人删除!幸好我在,感谢你来!

说明

CSS3 可实现 HTML 元素的动画效果,而不使用 JavaScript 或 Flash。

为了学习前端的动效,我简直是不折手段。目前就抓着CSS的动画来搞一波。

什么是动画

⭕老规矩,问句开头。

在需要变化的时间节点上指定一些关键帧,关键帧就是此刻所定义的样式。例如我在1s左移5m,3s左一15m,这时就有两个关键帧,因为这两个关键帧,画面就发生了位移,那么动画也就产生了。

下面这句话总结到位:动画使元素逐渐从一种样式变为另一种样式。

CSS3的动画主要依赖@keyframes和animation来实现。

@keyframes和animation的浏览器支持

@keyframes 规则

@keyframes 规则是创建动画。

@keyframes 规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式。

@keyframes myfirst
{
    from {background: red;}
    to {background: yellow;}
}

以上的就是一个简单的动画,关键词 "from" 和 "to",等同于 0% 和 100%。0% 是动画的开始,100% 是动画的完成。也就是从红色变成黄色。

为了得到最佳的浏览器支持,使用 0% 和 100% 选择器是最好的选择。 

animation

animation既然动画的关键帧都有了,那么就需要把这个关键帧落实并绑定到某个DOM上。

语法

可以一起写,也可以分开写属性。

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

animation-name

指定要绑定到选择器的关键帧的名称

语法

animation-name: keyframename|none;
// keyframename 指定要绑定到选择器的关键帧的名称

animation-duration

动画指定需要多少秒或毫秒完成

语法

animation-duration: time;
// time 指定动画播放完成花费的时间

animation-timing-function

指定动画将如何完成一个周期

语法

animation-timing-function: value;

动画函数

  • linear 动画从头到尾的速度是相同的。

  • ease 默认。动画以低速开始,然后加快,在结束前变慢。

  • ease-in 动画以低速开始

  • ease-out 动画以低速结束。

  • ease-in-out 动画以低速开始和结束。

  • steps(int,start|end)指定了时间函数中的间隔数量(步长)。

    有两个参数,第一个参数指定函数的间隔数,该参数是一个正整数(大于 0)。

    第二个参数是可选的,表示动画是从时间段的开头连续还是末尾连续。

  • cubic-bezier(n,n,n,n) 贝塞尔曲线

    给一个贝塞尔曲线的的一个网站,你会感谢🙏我的哈!地址

animation-delay

定义动画什么时候开始,单位可以是秒(s)或毫秒(ms)

语法

animation-delay: time;
// time 定义动画开始前等待的时间,以秒或毫秒计

animation-iteration-count

定义动画应该播放多少次。

语法

animation-iteration-count: value;
//  n 定义应该播放多少次动画
//  infinite 指定动画应该播放无限次(永远)

animation-direction

是否循环交替反向播放动画。

这个是一个可玩性很高的一个属性。

语法

animation-direction: normal|reverse|alternate|alternate-reverse|initial|inherit;

参数解析

  • normal 默认值。动画按正常播放。
  • reverse 动画反向播放。
  • alternate 动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。
  • alternate-reverse 动画在奇数次(1、3、5...)反向播放,在偶数次(2、4、6...)正向播放。
  • initial 继承的属性
  • inherit 继承的属性

animation-fill-mode

属性规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。

如果你需要考虑到动画的状态,可以使用这个属性,比如保留动画改变后的效果。

语法

animation-fill-mode: none|forwards|backwards|both|initial|inherit;

参数解析

  • none 默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。
  • forwards 在动画结束后(由 animation-iteration-count 决定),动画将应用该属性值。
  • backwards 动画将应用在 animation-delay 定义期间启动动画的第一次迭代的关键帧中定义的属性值。
  • both 动画遵循 forwards 和 backwards 的规则。
  • initial 继承的属性
  • inherit 继承的属性

animation--play-state

指定动画是否正在运行或已暂停。

语法

animation-play-state: paused|running;
// paused 指定暂停动画
// running 指定正在运行的动画

案例

颜色变换

div的颜色由红色变为黄色

代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>动画测试</title> 
<style> 
div
{
    width:100px;
    height:100px;
    background:red;
    animation:myfirst 6s;
}

@keyframes myfirst
{
    from {background:red;}
    to {background:yellow;}
}
</style>
</head>
<body>
<div></div>
</body>
</html>

效果 

 

 

 

顺时钟移动

将div顺时针移动

代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>动画测试</title> 
<style> 
div
{
    width:100px;
    height:100px;
    background:red;
    position:relative;
    animation:myfirst 5s linear 2s;
}

@keyframes myfirst
{
    0%   {background:red; left:0px; top:0px;}
    25%  {background:yellow; left:200px; top:0px;}
    50%  {background:blue; left:200px; top:200px;}
    75%  {background:green; left:0px; top:200px;}
    100% {background:red; left:0px; top:0px;}
}
</style>
</head>
<body>
<div></div>
</body>
</html>

 

总结

其实也看到这些基础的动画,其实实现起来并不复杂,那些复杂的动画也都是通过这样基础的动画构建的。但是是不是会有一个疑问,怎么记得住这样的属性的使用呢?

这个问题和问PS的快捷键怎么也记不住是一样的,因为都没有经常使用,怎么记得住。等画了上百个复杂动画之后,相信就会对这个动画有比较好的了解啦!

期待后续花样的动画案例吧!一切才刚刚开始!

感谢


 

 

 

 

 

 

 

 

 

 

 

 

前端CSS3:打造炫酷网页效果的秘诀 随着互联网的发展,用户对于网页的视觉体验要求越来越高。前端开发者需要不断探索新的技术和方法来打造更加炫酷、吸引人的网页效果。CSS3作为前端开发中的重要技术,为实现这些炫酷效果提供了强大的支持。本文的目的是深入介绍CSS3的各种特性和应用,帮助开发者掌握打造炫酷网页效果的秘诀。范围涵盖了CSS3的核心概念、算法原理、实际应用案例以及相关的学习资源和工具推荐。背景介绍:介绍本文的目的、范围、预期读者和文档结构概述。 阅读详情

相关推荐

别再折腾端口了!Kali Nethunter Kex 图形化桌面连接失败的真正原因与一键修复(附Termux命令)

本文深入分析了Kali Nethunter Kex图形化桌面连接失败的真正原因,包括端口配置变更、依赖缺失和权限问题,并提供了一键修复方案和Termux命令。通过详细的诊断步骤和优化配置,帮助用户快速恢复Kex功能,提升移动安全测试效率。

weixin_42530732的博客 417

【CSS3】CSS3动画——我离前端的炫酷又近了一步

CSS3 可实现 HTML 元素的动画效果,而不使用 JavaScript 或 Flash。 为了学习前端的动效,我简直是不折手段。目前就抓着CSS的动画来搞一波。

归子莫的博客 3691

华硕ROG玩家国度安装Ubuntu双系统避坑指南:安全启动密钥那些事儿

本文详细解析了在华硕ROG玩家国度设备上安装Ubuntu双系统时,如何正确处理BIOS中的安全启动(Secure Boot)与密钥管理,避免常见的引导失败和Windows系统无法启动问题。指南提供了从数据备份、启动盘制作到BIOS精细设置(如将OS Type改为Other OS而非简单关闭Secure Boot)以及分区规划的完整流程,确保两个系统都能稳定共存。

weixin_29219189的博客 754

10款基于HTML5+CSS3实现的超酷源码动画

1.基于Bootstrap的jQuery登录表单 这是一款基于Bootstrap的登录表单,表单的外观自然不用说,沿用了Bootstrap的风格,非常漂亮。这款登录表单有一个经过CSS3处理过的头像图片,同时还有HTML5表单字段的简单验证,CSS3的使用,让整个登录表单的投影显得更加立体。 在线演示 源码下载 2.很酷的CSS3多窗口邮件阅读器 这是一款非常炫酷华丽的CSS3邮件阅...

weixin_33806914的博客 1317

用Linkboy玩转Arduino:3小时搞定智能倒车雷达(附仿真文件下载)

本文详细介绍了如何利用Linkboy图形化编程工具,在3小时内快速搭建一个基于Arduino的智能倒车雷达项目。通过仿真环境,初学者无需硬件即可学习超声波测距原理、报警逻辑设计,并完成从虚拟仿真到实体硬件的完整流程。文章提供了清晰的步骤、调试技巧及功能扩展思路,并附有仿真文件,是入门Arduino和智能硬件制作的绝佳实践指南。

weixin_29159441的博客 403

MoveIt2 Servo实战:解锁UR机械臂在ROS2中的实时遥操作与动态响应

本文深入探讨了MoveIt2 Servo在UR机械臂实时遥操作中的应用,展示了如何通过ROS2实现毫秒级动态响应。文章详细解析了Servo的核心价值、环境配置、控制器适配及高级调优技巧,特别适用于需要高精度控制的工业场景,如VR手术训练和汽车装配线。

weixin_29044157的博客 247

28个炫酷的纯CSS特效动画示例(含源代码)

CSS是网页的三驾马车之一,是对页面布局的总管家,2024年了,这里列出28个超级炫酷的CSS动画示例,让您的网站更加炫目多彩。

大剑师兰特的GIS世界 5万+

CloudCompare 二次开发(35)——提取多条直线

使用CloudCompare与PCL编程实现的多条空间直线的提取。

点云侠的博客 438

CSS动画

CSS动画 CSS3的动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 属性 描述 CSS @keyframes 规定动画。 3 animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3 animation-name 规定 @keyframes 动画的名称。 3...

sereasuesue的博客 439

【附代码】SSVEP解码算法 - 扩展典型相关分析(eCCA)

本文主要对SSVEP解码算法-eCCA进行复现和测试。本文提供程序的所有代码,只要在Matlab上即可运行。读者可以根据程序自主调整,方便学习以及初学者更好地了解SSVEP的经典算法。

计算机小白 1334

[系统安全] 四十七.恶意软件分析 (3)动态分析经典沙箱Cape的安装和基础用法详解

系统安全将更好地帮助初学者了解病毒逆向分析和系统安全。前文详细介绍恶意代码静态分析经典工具Capa的基础用法,以及批量提取静态特征和ATT&CK技战术,主要是从提取的静态特征Json文件中提取关键特征。这篇文章将详细讲解动态分析沙箱Cape,其是一个开源的自动恶意软件分析系统,通过自动运行和分析恶意软件,全面分析和提取恶意软件的关键特征。本文先介绍Cape沙箱的安装和基础用法,后续随着深入再分享。基础性文章,希望对您有帮助!

杨秀璋的专栏 6736

前端实现炫酷动效_web前端炫酷特效-CSS3制作环形星星发光动画

html源码:css源码:*{margin:0;padding:0;}html,body{height:100%;}body{background:radial-gradient(ellipse at center,#34679a 0%, #214163 50%, #0d1926 100%);/*径向渐变 椭圆*/}body > div{width:200px;/*宽度 px像素 cm...

weixin_39638708的博客 1037

CCF编程培训师资认证(PTA)标准(教学能力T)

随着计算机科学的不断发展,计算机相关技术应用到社会各个行业,越来越多的青少年参加到了计算机程序设计的学习中,这对编程培训教师提出了更高的专业要求和职业要求。CCF开展编程培训师资认证项目(Programming Trainer Accreditation,PTA),旨在建立一个规范的、科学的、权威且有公信力的三方认证。认证考试分编程专业能力(P)和教学能力(T)两部分。本标准根据《CCF编程培训师资认证条例》第十条制定,旨在明确教学能力(T)的测试标准。

lan_in的博客 1709

前端实现炫酷动效_7款纯CSS3实现的炫酷动画应用

本文作者html5tricks,转载请注明出处1、纯CSS3实现人物摇头动画这次我们要来分享一款超级可爱的纯CSS3人物摇头动画,初始化的时候人物的各个部位是利用CSS3动画效果拼接而成,接下来就是人物听音乐的场景,一边听音乐一边摇着脑袋,十分陶醉的样子,周围还会出现跳动的音符动画。2、CSS3 Loading进度条加载动画特效 3款绚丽风格前面我向大家分享了几款非常漂亮的CSS3 SVG 进度条...

weixin_39607865的博客 698

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

7款纯CSS3实现的炫酷动画应用

本文转载自:

赳赳万里鲲 2074

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

前端实现炫酷动效_超级绚丽,20款前端动画特效,轰炸你的眼睛

前言HTML5一个相当出色的web技术,它不仅可以让你更加方便地操纵页面元素,而且可以通过canvas实现更多的动画特效,引进HTML5标准后,CSS3也就可以发挥更大的作用。本文主要介绍了一些基于HTML5 Canvas的动画特效,分享给大家,希望大家喜欢。1、HTML5 Canvas画板画图工具 可定义笔刷和画布HTML5 Canvas还有一个比较实用的应用,那就是网络画板,这样我们就可以在网...

weixin_39717110的博客 4946

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

css绘制星星闪烁,web前端炫酷特效-CSS3制作环形星星发光动画

html源码:css源码:*{margin:0;padding:0;}html,body{height:100%;}body{background:radial-gradient(ellipse at center,#34679a 0%, #214163 50%, #0d1926 100%);/*径向渐变 椭圆*/}body > div{width:200px;/*宽度 px像素 cm...

weixin_39929721的博客 1037

web前端炫酷特效-CSS3制作环形星星发光动画

html源码: <div><div></div></div> <div><div></div></div> <div><div></div></div> <div><div></div>...

weixin_34246551的博客 1090

span title效果设置_前端干货:利用css3编写一个炫酷的波浪效果loading动画

loading动画在页面过度等经常会用到,我在工作中就写过很多有趣的loading加载动画,在这里,我就分享一个波浪效果的loading动画写法(在写动画前,可以先画个草稿或动画流程图,充分思考动画执行的过程,再编写代码事半功倍哦)。一、首先看下效果图:css3编写的loading动画二、html代码很简单,就是一个外层div,加上几个运动的span(动画效果的只有span,外层div仅仅是为了方...

weixin_39797264的博客 819

7款纯CSS3实现的炫酷动画应用|慕课网只学有用的!

7款纯CSS3实现的炫酷动画应用|慕课网只学有用的! 关于我们 | 时尚廊♦ 时尚廊,中国大陆地区首家以“Lounge”为概念的艺文空间 ♦7款纯CSS3实现的炫酷动画应用|慕课网只学有用的!7款纯CSS3实现的炫酷动画应用 ...

158

【css炫酷动画】让面试官眼前一亮的故障风格文字动画,3年Web前端开发工程师面试经验分享

0% {5% {10% {15% {20% {25% {30% {35% {40% {45% {50% {55% {60% {65% {70% {75% {80% {85% {90% {95% {100% {这里我们设置了两个keyframes,分别为想必已经很明显了,前者是准备给我们后面的伪元素 before 使用的;后者是给我们后面的伪元素 after 使用的那么其中用到的 clip-path 是干什么用的呢?

m0_60721649的博客 806

html如何实现动画效果,一个绚丽的CSS3动画效果是如何实现的?

一个绚丽的CSS3动画效果body{background:#000;}h1{text-align:center;color:#fff;font-size:48px;text-shadow: 1px 1px 1px #ccc,0 0 10px #fff,0 0 20px #fff,0 0 30px #fff,0 0 40px #ff00de,0 0 70px #ff00de,0 0 80px #ff...

weixin_39525300的博客 162

js+css3炫酷粒子动画js特效代码

js+css3炫酷粒子动画特效代码。

ICode联盟 455

10个CSS3动画工具,值得你收藏!,我离职后面试收割小米等大厂offer

);你也可以改变计时器的设置,在jQuery的帮助下达到动画无限循环(参见readme文件细节)Magic Animations在线工具地址:http://www.minimamente.com/example/magic_animations/Animate.css提供了一整套炫酷的跨浏览器CSS3动画。

2401_84102892的博客 1967

超干货 CSS3/SVG Loading动画集合

随着css3实现各种炫酷动画效果越来越流行。今天给大家推荐一些css3和SVG实现loading加载动画效果。 先上一波令人愉悦的动画效果。 怎么样,是不是感觉很nice,那就继续往下看吧。这里为大家整理了一些不错的效果。 1、CSSFX 简单酷炸的css3效果,可一键复制css样式。 # 演示地址 https://cssfx.lovejade.cn/ # github地址 https://github.com/Th...

huang714的专栏 6881
下一篇: css实现炫酷的圆环相交转动动画
狗都不敲代码
博客等级 码龄4年 7粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值