favicon.png vs favicon.ico - 我为什么要使用PNG而不是ICO?

关于favicon的格式选择,PNG和ICO各有优缺点。PNG因其普遍支持和更小尺寸受到青睐,而ICO则提供向后兼容性和透明度支持,尤其对旧版浏览器如IE6。现代浏览器会尝试请求 favicon.ico,但为了兼容性和透明度,同时提供两者可能是最佳实践。此外,ICO可以包含多个大小的图标,适用于多种场景。创建这些文件可以使用GIMP等工具。
摘要由CSDN通过智能技术生成

除了PNG是一种更常见的图像格式之外,是否有任何技术理由支持favicon.png与favicon.ico?

我支持所有支持PNG最爱图标的现代浏览器。


#1楼

一些社交工具(如Google+)使用一种简单的方法来获取外部链接的图标,获取http://your.domainname.com/favicon.ico

由于它们不预取HTML内容,因此<link>标记将不起作用。 在这种情况下,您可能希望使用mod_rewrite规则或仅将文件放在默认位置。


#2楼

如果您想要可靠的IE6兼容性,请在任何情况下避免使用PNG。


#3楼

由于此线程中的各种其他更新和备注,答案被替换(并转为社区Wiki):

  • ICO和PNG都允许完全基于Alpha通道的透明度
  • ICO允许向后兼容旧版浏览器(例如IE6)
  • PNG可能对透明度有更广泛的工具支持,但您也可以找到创建alpha通道ICO的工具 ,例如@mercator提到的Dynamic Drive工具Photoshop插件

有关更多详细信息,请随时查阅其他答案。


#4楼

除非您通过<link>指定了快捷图标,否则所有现代浏览器(使用Chrome 4,Firefox 3.5,IE8,Opera 10和Safari 4测试)将始终请求favicon.ico 。 因此,如果您没有明确指定一个,最好总是有一个favicon.ico文件,以避免404. Yahoo! 建议你把它缩小并可以缓存。

而且你也不必为了透明度而去寻找PNG。 ICO文件支持alpha透明度很好(即32位颜色),但几乎没有任何工具允许您创建它们。 我经常使用Dynamic Drive的FavIcon Generator来创建具有alpha透明度的favicon.ico文件。 这是我所知道的唯一可以做到的在线工具。

还有一个可以创建它们的免费Photoshop插件


#5楼

.png文件都不错,但.ico文件提供alpha通道透明度,太, 再加上他们给你的向后兼容性。

看看StackOverflow使用的类型(请注意它是透明的):

<link rel="shortcut icon" href="http://sstatic.net/so/favicon.ico"> 
<link rel="apple-touch-icon" href="http://sstatic.net/so/apple-touch-icon.png"> 

apple-itouch很适合为网站提供快捷方式的iphone用户。


#6楼

* .ico文件的理论优势在于它们是容器而不是可以容纳多个图标。 例如,您可以为旧系统存储带有Alpha通道和16色版本的图像,或者您可以添加32x32和48x48图标(在将链接拖到Windows资源管理器时应该会增加)。

然而,这个好主意往往会与浏览器实现冲突。


#7楼

PNG有两个优点:它具有更小的尺寸,并且它被更广泛地使用和支持(除了例如favicon)。 正如ICO之前提到的,可以有多个大小的图标,这对桌面应用程序很有用,但对网站来说不是太多。 我建议你在你的应用程序的根目录中放一个favicon.ico。 如果您有权访问网站页面的头部,请使用标记指向png文件。 因此,较旧的浏览器将显示favicon.ico和更新的png。

要创建Png和Icon文件,我建议使用The Gimp


#8楼

一个ico可以一个png。

更确切地说,您可以在这个最小容器格式中存储一个或多个png,而不是每个人都强烈关联ico的通常位图+ alpha。

支持是旧的, 出现在Windows Vista (2007)中,并得到浏览器的良好支持,但不一定是图标编辑软件。

任何有效的png(整个包括头)都可以由一个6字节的ico头和16字节的图像目录预先添加。
GIMP有原生支持。 只需导出为ico并勾选“压缩(PNG)”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值