首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SVG目标褪色

SVG目标褪色
EN

Stack Overflow用户
提问于 2022-06-29 19:44:50
回答 2查看 98关注 0票数 2

我想把svg圆圈的填充颜色从一种颜色淡出到另一种颜色,就像从红色到黑色。

代码语言:javascript
运行
复制
<svg height="100" width="100">
    <circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" fade-to="black"/>
</svg>

我要做什么来代替fade-to="black"

EN

Stack Overflow用户

发布于 2022-06-30 18:13:47

基本上,您只需要用以下两种方法来更改圆的fill属性:

  • css (例如:悬停)
  • SMIL动画(使用begin="click")
  • javaScript (例如,单击eventListner)

代码语言:javascript
运行
复制
let dotJs = document.querySelector('#dotJs');

dotJs.addEventListener('click', function(e) {
  e.currentTarget.classList.toggle('active')
})
代码语言:javascript
运行
复制
circle {
  transition: 0.5s fill;
}

.active {
  fill: #000
}

#dotCSS:hover {
  fill: #000
}
代码语言:javascript
运行
复制
<p>Css hover</p>
<svg height="100" width="100">
    <circle id="dotCSS" cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>

<p>JS click</p>
<svg height="100" width="100">
    <circle id="dotJs" cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>

<p>SMIL click</p>
<svg height="100" width="100">
    <circle id="dot" cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
      <animate id="startAnimation"
               href="#dot" 
               attributeName="fill" 
               from="red" 
               to="black" 
               begin="click"
               dur="0.5s" 
               repeatCount="0"
               fill="freeze"
/>
</svg>

查看Mike Harris的帖子:切换SVG而不使用任何脚本以获得一个更高级的svg示例。

票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72807028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档