利用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中的元素过渡属性transition示例详解
Nov 30 HTML / CSS
手把手教你用纯css3实现轮播图效果实例
May 04 HTML / CSS
基于css3仿造window7的开始菜单
Jun 17 HTML / CSS
CSS3线性渐变简单实现以及该属性在浏览器中的不同
Dec 12 HTML / CSS
css3实现一款模仿iphone样式的注册表单
Mar 20 HTML / CSS
CSS图片翻转动画技术详解(IE也实现了)
Apr 03 HTML / CSS
使用纯 CSS 创作一个脉动 loader效果的源码
Sep 28 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
Mar 15 HTML / CSS
html5+CSS3+JS实现七夕言情功能代码
Aug 28 HTML / CSS
一波HTML5 Canvas基础绘图实例代码集合
Feb 28 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
Sep 18 HTML / CSS
HTML5实现音频和视频嵌入的方法
Aug 22 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类中Static方法效率测试代码
2010/10/17 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
mouse_on_title.js
2006/08/25 Javascript
解决表单中第一个非隐藏的元素获得焦点的一个方案
2009/10/26 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
JS中操作JSON总结
2020/12/06 Javascript
可编辑下拉框的2种实现方式
2014/06/13 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
jQuery实现contains方法不区分大小写的方法
2015/02/13 Javascript
微信企业号开发之微信考勤百度地图定位
2015/09/11 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
node.js中module.exports与exports用法上的区别
2016/09/02 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
微信小程序canvas写字板效果及实例
2017/06/15 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
[02:13] 完美世界DOTA2联赛PWL DAY5集锦
2020/11/03 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
Python中文竖排显示的方法
2015/07/28 Python
在Python程序中操作MySQL的基本方法
2015/07/29 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
在IPython中进行Python程序执行时间的测量方法
2018/11/01 Python
荷兰最大的多品牌男装连锁店:Adam Brandstore
2019/12/31 全球购物
历史系自荐信范文
2013/12/24 职场文书
农民入党思想汇报
2014/01/03 职场文书
法律专业应届生自荐信范文
2014/01/06 职场文书
12岁生日感言
2014/01/21 职场文书
2015年社区工作总结
2015/04/08 职场文书
vue elementUI批量上传文件
2022/04/26 Vue.js