在平时项目中,脉冲动画经常会被用到,比如地图上标记某个地点,或者在页面上突显某个元素等等,都会用上,今天分享下一个简单的圆形脉冲动画的DEMO。
这是一个涉及较少的动画,但仅显示了一些CSS即可完成的工作。
首先,我们需要绕圈。首先添加一些HTML:
<div class="pulse"></div>
现在,我们可以使用一些CSS创建圈子:
.pulse { position:absolute; left:50%; top:50%; transform:scale(1.5,1.5) translate(-50%,-50%); height: 150px; width: 150px; background: #a83f39; border-radius: 50%; }
到目前为止,这是我们所拥有的:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS3动画:圆形脉冲动画 - Web前端之家https://www.jiangweishan.com</title> <style> body { background: #e1ad01; } .pulse { position: absolute; left: 50%; top: 50%; transform: scale(1.5, 1.5) translate(-50%, -50%); height: 150px; width: 150px; background: #a83f39; border-radius: 50%; } </style> </head> <body> <div class="pulse"> </div> <script> </script> </body> </html>
要创建脉冲动画,我们使用box-shadow
属性。如果您从未使用box-shadow
过,Mozilla会提供一些出色的文档:
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(168, 63, 57, 0.4); } 70% { box-shadow: 0 0 0 50px rgba(168, 63, 57, 0); } 100% { box-shadow: 0 0 0 150px rgba(168, 63, 57, 0); } }
要使用此动画,我们只需将其添加到.pulse
:
.pulse { .... animation: pulse 2s infinite; }
现在,我们创建了脉冲动画。看下完整的DEMO特效。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>CSS3动画:圆形脉冲动画 - Web前端之家https://www.jiangweishan.com</title> <style> body { background: #e1ad01; } .pulse { position: absolute; left: 50%; top: 50%; transform: scale(1.5, 1.5) translate(-50%, -50%); height: 150px; width: 150px; background: #a83f39; border-radius: 50%; animation: pulse 2s infinite; } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(168, 63, 57, 0.4); } 70% { box-shadow: 0 0 0 50px rgba(168, 63, 57, 0); } 100% { box-shadow: 0 0 0 150px rgba(168, 63, 57, 0); } } </style> </head> <body> <div class="pulse"> </div> <script> </script> </body> </html>
大家试试效果,是不是很酷呢?赶紧应用到你们的项目中去吧!!!!