如何淡入和淡出svg的颜色

Posted

技术标签:

【中文标题】如何淡入和淡出svg的颜色【英文标题】:How to fade in and out color of svg 【发布时间】:2015-12-09 23:32:51 【问题描述】:

我希望一个 svg 对象从颜色“A”渐变为颜色“B”,然后无限期地变回颜色“A”。

到目前为止,我使用的成功有限

<animate attributeName="fill" from="colorA" to="colorB" dur="10s" repeatCount="indefinite" />

但这不允许我淡出颜色“A”。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用自定义 css 动画来实现:

@keyframes colorChange 
    0%fill:#ff0000
    50%fill:#000
    100%fill: #ff0000

.box 
    width:200px;
    height:200px;
    animation: colorChange 3s infinite;

只需将animation 属性应用于您想要更改填充的任何元素 http://jsfiddle.net/re8tn1o3/

【讨论】:

感谢您的回复,这个也得试试。对我来说是了解 css 动画中关键帧的好机会。【参考方案2】:

使用values 属性代替fromto

<svg>
  <rect  >
    <animate attributeName="fill" values="red;blue;red" dur="10s" repeatCount="indefinite" />
  </rect>
</svg>

【讨论】:

以上是关于如何淡入和淡出svg的颜色的主要内容,如果未能解决你的问题,请参考以下文章

我们如何改变 iCarousel 中的淡入淡出颜色?

如何通过命令 JPanel、其组件和颜色淡出或淡入

Android - 如何使用交叉淡入淡出动画更改状态栏颜色[重复]

html 具有SVG和淡入淡出功能的FacetWP模板加载器

如何在 CATransition 中更改视图淡入淡出的颜色

如何让悬停颜色淡入淡出? - jQuery,HTML