利用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 22 HTML / CSS
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
Dec 28 HTML / CSS
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
Dec 30 HTML / CSS
CSS3不透明度实例讲解
Apr 26 HTML / CSS
css3实现六边形边框的实例代码
May 24 HTML / CSS
css3利用transform变形结合事件完成扇形导航
Oct 26 HTML / CSS
HTML5 自动聚焦(autofocus)属性使用介绍
Aug 07 HTML / CSS
html5版canvas自由拼图实例
Oct 15 HTML / CSS
canvas裁剪clip()函数的具体使用
Mar 01 HTML / CSS
three.js模拟实现太阳系行星体系功能
Sep 03 HTML / CSS
HTML5 textarea高度自适应的两种方案
Apr 08 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
Dec 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
颠覆常识!无色透明的咖啡诞生了(中日双语)
2021/03/03 咖啡文化
解析php curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php实现的mongodb操作类
2015/05/28 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
PHP 实现链式操作
2021/03/09 PHP
JavaScript解析URL参数示例代码
2013/08/12 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
从零开始学习Node.js系列教程之基于connect和express框架的多页面实现数学运算示例
2017/04/13 Javascript
在iframe中使bootstrap的模态框在父页面弹出问题
2017/08/07 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
使用async、enterproxy控制并发数量的方法详解
2018/01/02 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
bootstrap与pagehelper实现分页效果
2018/12/29 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
使用Python封装excel操作指南
2021/01/29 Python
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
诚信承诺书范文
2014/03/27 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
表扬稿格式范文
2015/01/16 职场文书
装修公司管理制度
2015/08/05 职场文书
四年级数学教学反思
2016/02/16 职场文书
SQL Server中使用表变量和临时表
2022/05/20 SQL Server