目前在所有支持它的浏览器中显示图标的最佳方法是什么?
请包括:
哪些浏览器支持哪些图像格式。
各种浏览器在哪些地方需要哪些行。
我在这里采用皮带和大括号的方法。
.ico
我以和.png
格式创建了一个 32x32 图标,称为favicon.ico
and favicon.png
。除非您使用的是较旧的浏览器,否则图标名称并不重要。
favicon.ico
在您的站点根目录以支持旧版浏览器(可选且仅与旧版浏览器相关。<head>
在元素内添加以下 HTML 。<link rel="icon" href="/images/favicon.png" type="image/png" /> <link rel="快捷图标" href="/favicon.ico" />
请注意:
.ico
已被IANA注册为 image/vnd.microsoft.icon 。type
快捷图标关系的属性,这是唯一支持这种关系的浏览器,不需要提供。我使用 .ico 格式并将以下两行放入<head>
元素中:
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
为了还支持平板电脑和智能手机的触摸图标,我更喜欢HTML5Boilerplate的方法
更多关于触摸图标的信息可以在这篇文章中找到。
在浏览器支持的当前状态下,您甚至不必在文档中为网站图标添加 HTML 标记。浏览器将自动搜索文件列表,请参见 iOS 示例:
如果 HTML 中没有指定图标,iOS Safari 将在网站的根目录中搜索带有 apple-touch-icon 或 apple-touch-icon-precomposed 前缀的图标。例如,如果设备的适当图标大小为 57 × 57 像素,iOS 会按以下顺序搜索文件名:
- 苹果触摸图标 57x57-precomposed.png
- 苹果触摸图标 57x57.png
- 苹果触摸图标precomposed.png
- 苹果触摸icon.png
我的建议是不要在文档中包含网站图标,而是在根网站中准备好文件列表:
(57px*57px)
HiDPI (32x32px)
当您从html5boilerplate.com下载模板时,这些都包含在内,您只需将它们替换为您自己的图标。
IE6 无法正确处理 PNG,请注意。
大多数浏览器会自动检测到根目录中有一个favicon.*
。您可以使用以下方法确保检测到它:
<link rel="icon" type="image/png" href="/path/image.png" />
我个人使用 .png 图像,但大多数格式都可以使用。
这个问题的答案已经变得足够复杂,最好的方法就是使用像 RealFaviconGenerator 这样的工具,它可以让你上传 png/jpg,然后为你生成涵盖所有平台的网站图标和代码:https://realfavicongenerator。网/