利用CSS3动画实现圆圈由小变大向外扩散的效果实例


Posted in HTML / CSS onSeptember 10, 2018

前言

本文主要给大家分享的是关于利用CSS3动画实现圆圈由小变大向外扩散的效果实例,文中涉及到 CSS3 的动画(animation)、2D 转换(transform: scale)

css3中新增了一个animation的属性,该属性类似于创建一个animation对象

如:animation: bounce 2.0s infinite ease-in-out;

animation有以下几个参数:

属性 描述 CSS
animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3
animation-name 规定 @keyframes 动画的名称。 3
animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3
animation-delay 规定动画何时开始。默认是 0。 3
animation-iteration-count 规定动画被播放的次数。默认是 1。 3
animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 3
animation-fill-mode 规定对象动画时间之外的状态。 3

CSS 3 中2D转换的实现用到两个属性:

属性 描述 CSS
transform 向元素应用 2D 或 3D 转换。 3
transform-origin 指定变换的基点的位置。 3

静态效果图:

利用CSS3动画实现圆圈由小变大向外扩散的效果实例

具体如代码所示:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
@keyframes warn {
 0% {
  transform: scale(0);
  opacity: 0.0;
 }
 25% {
  transform: scale(0);
  opacity: 0.1;
 }
 50% {
  transform: scale(0.1);
  opacity: 0.3;
 }
 75% {
  transform: scale(0.5);
  opacity: 0.5;
 }
 100% {
  transform: scale(1);
  opacity: 0.0;
 }
}
@-webkit-keyframes "warn" {
 0% {
  -webkit-transform: scale(0);
  opacity: 0.0;
 }
 25% {
  -webkit-transform: scale(0);
  opacity: 0.1;
 }
 50% {
  -webkit-transform: scale(0.1);
  opacity: 0.3;
 }
 75% {
  -webkit-transform: scale(0.5);
  opacity: 0.5;
 }
 100% {
  -webkit-transform: scale(1);
  opacity: 0.0;
 }
}
 
.container {
 position: relative;
 width: 40px;
 height: 40px;
 border: 1px solid #000;
}
/* 保持大小不变的小圆圈  */
.dot {
 position: absolute;
 width: 6px;
 height: 6px;
 left: 15px;
 top: 15px;
 -webkit-border-radius: 20px;
 -moz-border-radius: 20px;
 border: 2px solid red;
 border-radius: 20px;
 z-index: 2;
}
/* 产生动画(向外扩散变大)的圆圈  */
.pulse {
 position: absolute;
 width: 24px; 
 height: 24px;
 left: 2px;
 top: 2px;
 border: 6px solid red;
 -webkit-border-radius: 30px;
 -moz-border-radius: 30px;
 border-radius: 30px;
 z-index: 1;
 opacity: 0;
 -webkit-animation: warn 3s ease-out;
 -moz-animation: warn 3s ease-out;
 animation: warn 3s ease-out;
 -webkit-animation-iteration-count: infinite;
 -moz-animation-iteration-count: infinite;
 animation-iteration-count: infinite;
}
</style>
 
</head>
 
<body>
<div class="container">
    <div class="dot"></div>
    <div class="pulse"></div>
</div>
</body>
</html>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

HTML / CSS 相关文章推荐
CSS3制作苹果风格键盘特效
Feb 26 HTML / CSS
CSS3 实现倒计时效果
Nov 25 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
May 19 HTML / CSS
html5文本内容_动力节点Java学院整理
Jul 11 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
canvas实现俄罗斯方块的方法示例
Dec 13 HTML / CSS
使用phonegap克隆和删除联系人的实现方法
Mar 31 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
Nov 15 HTML / CSS
Canvas图片分割效果的实现
Jul 29 HTML / CSS
前端实现打印图像功能
Aug 27 HTML / CSS
遮罩层 + Iframe实现界面自动显示的示例代码
Apr 26 HTML / CSS
H5离线存储Manifest原理及使用
Apr 28 HTML / CSS
详解CSS3原生支持div铺满浏览器的方法
Aug 30 #HTML / CSS
利用CSS3实现文字折纸效果实例代码
Jul 10 #HTML / CSS
CSS3实现文本垂直排列的方法
Jul 10 #HTML / CSS
CSS3实现背景透明文字不透明的示例代码
Jun 25 #HTML / CSS
css3 column实现卡片瀑布流布局的示例代码
Jun 22 #HTML / CSS
CSS3 清除浮动的方法示例
Jun 01 #HTML / CSS
CSS3之transition实现下划线的示例代码
May 30 #HTML / CSS
You might like
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
PHP连接MongoDB示例代码
2012/09/06 PHP
js textarea自动增高并隐藏滚动条
2009/12/16 Javascript
JavaScript QueryString解析类代码
2010/01/17 Javascript
Javascript 判断客户端浏览器类型代码
2010/03/01 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
解决VUE项目使用Element-ui 下拉组件的验证失效问题
2020/11/07 Javascript
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
购买一个高级域名:BuyDomains
2018/03/11 全球购物
师范应届生求职信
2013/11/15 职场文书
程序员求职信
2014/04/16 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
竞选班长演讲稿400字
2014/08/22 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
质量保证书格式
2015/02/27 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
2016年父亲节寄语
2015/12/04 职场文书
财务人员廉洁自律心得体会
2016/01/13 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL