gpt4 book ai didi

javascript - 是用JS替换图片src好,还是用CSS滤镜来操作好?

转载 作者:太空宇宙 更新时间:2023-11-04 08:56:14 24 4
gpt4 key购买 nike

我有一个带图标的按钮,其来源是 ~4kb 的 SVG。当我将鼠标悬停在按钮上时,我希望图标颜色反转,从黑色变为白色。要实现这种效果,是不是像这样使用 CSS 比较好:

#btn:hover #icon-img {
-webkit-filter: invert(1);
filter: invert(1);
}

...还是直接操作图像源并像这样添加白色版本的图标更好(例如更快/最佳实践/更好的内存力)?

document.getElementById('btn').addEventListener('mouseover', (e) => {
document.getElementById('icon-img').src = 'white-image.svg';
}

最佳答案

根据经验,CSS 解决方案比基于 JS 的解决方案更好。

CSS 的主要问题(特别是关于新奇特的功能)是支持:

Browser support for filter property (MDN)

如您所见,如果您想支持 IE(尽管 Internet Explorer 4.0 到 9.0 实现了一个非标准且已弃用的筛选器属性),您就不走运了。

正如@guest271314 所指出的,您的 JS 解决方案将触发对服务器的新请求...您可以考虑使用 Sprite 或数据 URI 来避免它。

关于javascript - 是用JS替换图片src好,还是用CSS滤镜来操作好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43099641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com