利用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属性选择符介绍
Oct 17 HTML / CSS
CSS3 icon font完全指南(CSS3 font 会取代icon图标)
Jan 06 HTML / CSS
CSS3实现渐变背景兼容问题
May 06 HTML / CSS
Javascript 高级手势使用介绍
Apr 21 HTML / CSS
html5中JavaScript removeChild 删除所有节点
May 16 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
Dec 14 HTML / CSS
canvas裁剪clip()函数的具体使用
Mar 01 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
Sep 15 HTML / CSS
html5使用window.postMessage进行跨域实现数据交互的一次实战
Feb 24 HTML / CSS
使用HTML+Css+transform实现3D导航栏的示例代码
Mar 31 HTML / CSS
css3新特性的应用示例分析
Mar 16 HTML / CSS
CSS link与@import的区别和用法解析
May 07 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的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
php多重接口的实现方法
2015/06/20 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
浏览器常用高宽的jquery插件
2011/02/24 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
js数组与字符串的相互转换方法
2014/07/09 Javascript
使用focus方法让光标默认停留在INPUT框
2014/07/29 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
jQuery使用post方法提交数据实例
2015/03/25 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
js 概率计算(简单版)
2017/09/12 Javascript
vue-router项目实战总结篇
2018/02/11 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
layui弹出层按钮提交iframe表单的方法
2018/08/20 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
JavaScript享元模式原理与用法实例详解
2020/03/09 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
Python 字符串操作方法大全
2014/03/11 Python
python从sqlite读取并显示数据的方法
2015/05/08 Python
python中星号变量的几种特殊用法
2016/09/07 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
C#如何调用Windows程序打开一个文档
2014/12/26 面试题
补充协议书范本
2014/04/23 职场文书
路政管理求职信
2014/06/18 职场文书
个园导游词
2015/02/04 职场文书
大学生求职自荐信范文
2015/03/04 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书