javascript - svg 元素上的光动画

标签 javascript html css svg vue.js

我有这个半圆的 svg。我想围绕这个形状创建一个脉冲光动画。

我弄乱了 css 和 webkit,但我得到的最接近的是父元素周围的脉冲光,而不是实际形状周围的脉冲光。非常感谢您对此有一些见解和想法。

SVG:

<svg class="pulse-button" width="234" height="256" xmlns="http://www.w3.org/2000/svg">
                  <g class="half-circle">>
                    <rect class="rect" x="-1" y="-1" width="236" height="258" id="canvas_background" fill="none"/>
                    <path transform="rotate(-90.53539276123047 116.5,117.59869384765625) " id="svg_6" d="m66,24.098694c55.8011,0 101,41.84254 101,93.5c0,51.65746 -45.1989,93.5 -101,93.5l0,-187z" stroke-linecap="null" stroke-linejoin="null" stroke-width="4" stroke="#000000" fill="#000000"/>
                  </g>
                </svg>

最佳答案

您可以尝试使用纯 CSS 解决方案:

.pulse {
  width:200px;
  height:100px;
  position:relative;
  margin:10px;
}

.pulse::before,
.pulse::after{
   content:"";
   position:absolute;
   top:0;
   left:0;
   right:0;
   bottom:0;
   border-radius:100px 100px 0 0;
   background:#000;
}
.pulse::before {
   background:yellow;
   transform:scale(0.8);
   animation: change 0.8s  infinite alternate; 
   filter:blur(10px);
}
@keyframes change {
  to {
   transform:scale(1.1);
  }
}
<div class="pulse">

</div>

关于javascript - svg 元素上的光动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54378472/

相关文章:

javascript - backbone.js - 每秒刷新一个集合?

javascript - 在 raphael paper 中拖放 dom 元素

javascript - 在 Bootstrap 弹出窗口内执行 JS

javascript - Rails 4 和 AngularJS 1.3.x $http.get 出现 406 Not Acceptable 错误

html - 将 div 的宽度定义为高度的百分比

css - 实现 HTML5/CSS 日历

html - 在另一个文件中包含一个 HTML 文件

javascript - 如何根据文本长度使文本最适合?

javascript - 所见即所得多输入(jQuery 插件)

html - 如何将 svg 图像固定到特定高度并保持响应?