我有一个带图标的按钮,其来源是~4kb的SVG。当我将鼠标悬停在按钮上时,我希望图标反转颜色,从黑色变为白色。为了达到这个效果,最好像这样使用CSS:
select * from (select * from myTable where INITIAL = '01' or FINAL = '01' order by Date) where Rownum=1
...或者更好(例如更快/最佳练习/更好的内存)直接操作图像源并添加图标的白色版本?
#btn:hover #icon-img {
-webkit-filter: invert(1);
filter: invert(1);
}
答案 0 :(得分:1)
根据经验,CSS解决方案是基于JS的解决方案的更好方法。
CSS的主要问题(特别是关于新的奇特功能)是支持:
正如您所看到的,如果您想支持IE,那么您运气不好(尽管Internet Explorer 4.0到9.0实现了非标准和不推荐使用的过滤器属性)。
正如@ guest271314指出的那样,您的JS解决方案将触发对服务器的新请求......您可以考虑使用精灵或数据URI来避免它。
答案 1 :(得分:0)
使用css
在每个mouseover
活动中不对图片提出额外的网络请求。