利用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 相关文章推荐
css动画效果之animation的常用样式
Mar 09 HTML / CSS
css3 position fixed固定居中问题解决方案
Aug 19 HTML / CSS
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
Jan 05 HTML / CSS
HTML5 语音搜索只需一句代码
Jan 03 HTML / CSS
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
Apr 10 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
Jul 04 HTML / CSS
使用canvas实现雪花飘动效果的示例代码
Mar 30 HTML / CSS
html+css 实现简易导航栏功能
Apr 07 HTML / CSS
css3新特性的应用示例分析
Mar 16 HTML / CSS
HTML5之高度塌陷问题的解决
Jun 01 HTML / CSS
CSS 实现角标效果的完整代码
Jun 28 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 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基本语法总结
2014/09/06 PHP
PHP中Memcache操作类及用法实例
2014/12/12 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP convert_uudecode()函数讲解
2019/02/14 PHP
Array对象方法参考
2006/10/03 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
微信小程序制作表格的方法
2019/02/14 Javascript
微信小程序调用天气接口并且渲染在页面过程详解
2019/06/24 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
详解python时间模块中的datetime模块
2016/01/13 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
tensorflow如何继续训练之前保存的模型实例
2020/01/21 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
如果NULL和0作为空指针常数是等价的,那我到底该用哪一个
2014/09/16 面试题
办公室文员自荐书
2014/02/03 职场文书
乡村卫生服务一体化管理实施方案
2014/03/30 职场文书
幼儿园新年寄语
2014/04/03 职场文书
高考标语大全
2014/06/05 职场文书
应届大专生自荐书
2014/06/16 职场文书
受伤赔偿协议书
2014/09/24 职场文书
离婚财产处理协议书
2014/09/30 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
干部作风建设心得体会
2014/10/22 职场文书
奖学金感谢信
2015/01/21 职场文书
2016入党积极分子党课培训心得体会
2016/01/06 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL