除了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)”。