除了PNG是更常见的图像格式之外,是否有任何技术原因支持favicon.png而不是favicon.ico呢?
我支持现代浏览器,它们都支持PNG收藏夹图标。
我支持现代浏览器,它们都支持PNG收藏夹图标。
favicon.ico
,除非您通过 <link>
指定了快捷图标。因此,如果您没有明确指定,则最好始终有一个 favicon.ico
文件,以避免出现 404 错误。Yahoo! 建议您使其小且可缓存。
您也不必只为 alpha 透明度选择 PNG。ICO 文件 同样支持 alpha 透明度(即 32 位颜色),尽管几乎没有工具可以创建它们。我经常使用 Dynamic Drive's FavIcon Generator 创建带有 alpha 透明度的 favicon.ico
文件。这是我所知道的唯一一个在线工具。由于本帖中涉及不同人的多次更新和注释,因此回答已替换(并转换为社区Wiki):
如需更多详细信息,请随时参考其他答案。
.png文件很好,但.ico文件也提供了alpha通道透明度,而且它们还为您提供了向后兼容性。
例如,请看StackOverflow使用的哪种类型(请注意它是透明的):
<link rel="shortcut icon" href="https://cdn.sstatic.net/Sites/stackoverflow/Img/favicon.ico">
<link rel="apple-touch-icon" href="https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png">
苹果iTouch是为iPhone用户设计的,它可以将网站快捷方式添加到主屏幕上。
*.ico文件的理论优势在于它们是可以容纳多个图标的容器。例如,你可以储存一个带有Alpha通道的图像和一个16色版本以供旧系统使用,或者添加32x32和48x48像素的图标(例如当将链接拖到Windows资源管理器中时会显示这些图标)。
然而,这个好主意往往与浏览器实现产生冲突。
一些社交工具如Google+使用简单的方法获取外部链接的网站图标,即通过获取http://your.domainname.com/favicon.ico上的文件。
由于它们不会预读HTML内容,所以 <link>
标签不起作用。在这种情况下,你可能想使用mod_rewrite规则或将文件放置在默认位置。
ICO可以是PNG。
更精确地说,您可以将一个或多个PNG存储在这个最小的容器格式中,而不是通常与ICO强烈相关联的位图+Alpha。
支持已经很久了, 出现在Windows Vista(2007年),并且得到浏览器的很好支持,尽管不一定受到图标编辑软件的支持。
任何有效的PNG(包括头文件在内)都可以加上6字节的ICO头文件和16字节的图像目录。
GIMP具有本地支持。只需导出为ico并选中“压缩(PNG)”即可。
就我个人而言,我是这样做的:
<!-- Favicon - Generic -->
<link rel="icon" href="path/favicon-32_x_32.png" sizes="32x32">
<link rel="icon" href="path/favicon-57_x_57.png" sizes="57x57">
<link rel="icon" href="path/favicon-76_x_76.png" sizes="76x76">
<link rel="icon" href="path/favicon-96_x_96.png" sizes="96x96">
<link rel="icon" href="path/favicon-128_x_128.png" sizes="128x128">
<link rel="icon" href="path/favicon-192_x_192.png" sizes="192x192">
<link rel="icon" href="path/favicon-228_x_228.png" sizes="228x228">
<!-- Favicon - Android -->
<link rel="shortcut icon" href="path/favicon-196_x_196.png" sizes="196x196">
<!-- Favicon - iOS -->
<link rel="apple-touch-icon" href="path/favicon-120_x_120.png" sizes="120x120">
<link rel="apple-touch-icon" href="path/favicon-152_x_152.png" sizes="152x152">
<link rel="apple-touch-icon" href="path/favicon-180_x_180.png" sizes="180x180">
我依然将favicon.ico放在根目录下。
如果您想要确保IE6的兼容性可靠,请无论如何避免使用PNG格式。
<link>
标签在页面代码中指定PNG图片。请注意,这不会改变原意。 - Amber