img标签使用svg改变颜色
在Html里改变Img Svg 颜色显示不同状态
方法一
1 | <svg style="display: none;"> |
这种方式可以实现红色的渲染 , 但是会隐约出现原来的颜色 , 效果不行
方法二
1 | <svg style="opacity: 0; position: fixed; left: -1000px; top: -1000px;"> |
这种方法实现效果达到了效果 , 可以完美地显示红色 , 并且原来的颜色不可见 .
但是方法一和方法二都有一个问题 , 需要定义一个存在全局唯一的 ID , 如果 ID 被覆盖的话 , 那么就会超出预期地显示内容
方法三(推荐)
1 | <img style="filter: drop-shadow(1000px 0 0 red); transform: translate(-1000px);" src="some.svg" /> |
这种方法不需要再定义晦涩难懂的 svg 标签 , 而是通过显示阴影的方式来解决问题 , 完美地解决了上面的问题 , 但是这个方法需要注意将图片移到看不到的位置 , 不然会出现两张图片
参考链接
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Halcyon Days!