免责声明:我是RealFaviconGenerator的作者,我希望它能够保持最新(大部分情况下,请参见下文)。因此,如果本答案与RFG生成的内容相符,请不要感到惊讶。
“一刀切”的神话
没有“一刀切”的图标。您不能创建一个单独的SVG图标并期望它在所有地方都可以使用。
从技术角度来看,单个SVG图标是好事。但从UI和UX角度来看,这不是一个理想的结果。比较iOS和Android。在iOS上,所有主屏幕图标都是带有圆角的正方形(iOS用黑色填充Touch图标的透明区域)。在Android上,主屏幕图标通常使用非正方形和透明度(包括Google应用程序图标)。提交一个单独的touch icon,Android Chrome将使用它。但是您无法匹配Android图标指南,而专门的图标可以。
因此,我建议有意避免使用单个图标。尽可能针对每个平台进行设计(这并非总是如此)。
按平台分类的图标
iOS Safari
iOS Safari需要一个touch icon。截至今天,这是一个180x180的PNG图像。此图像不应使用透明度,并且添加到主屏幕时其角落将自动变为圆角。声明为:
<link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-touch-icon.png">
多年来,这个图标已经成为许多浏览器的“默认高分辨率图标”。因此,在添加到书签等其他地方时,您会在其他地方找到它。
Android Chrome依赖于
Web App Manifest。虽然这个清单不是专门针对Android Chrome的,但目前它是其主要支持者。因此,目前仍然可以认为Web App Manifest中的图标适用于Android Chrome。
正如名称所示,Web App Manifest是为Web应用程序而设计的。但是,任何网站都可以将其用作引用某些图标的方式。
Android期望一个192x192的PNG图标,允许并鼓励使用透明度。
该清单声明为:
<link rel="manifest" href="/icons/site.webmanifest">
Edge和IE 12
微软推出了browserconfig,这是一个XML文档,列出了适用于Metro UI的各种图标。
文件和background color声明为:
<meta name="msapplication-TileColor" content="#da532c">
<meta name="msapplication-config" content="/icons/browserconfig.xml">
经典桌面浏览器
Windows/macOS Chrome、Windows/macOS Firefox、Safari、IE... 这里有点模糊。历史上,有一个单一的 favicon.ico
文件,仍然被支持。然而,大多数最新的浏览器更喜欢选择轻量级的 PNG 图标。此外,一些浏览器无法选择 ICO 文件中正确的图标(该格式可以嵌入多个版本的图标),导致低分辨率图标被错误使用。
有人可能会想完全放弃旧的 favicon.ico
。虽然我想在 RFG 中迈出这一步,但我没有运行必要的测试来评估对旧浏览器的影响。
因此,我今天仍然推荐这种组合,其中 favicon.ico
嵌入了 16x16、32x32 和 48x48 的图标:
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png">
<link rel="shortcut icon" href="/icons/favicon.ico">
其他浏览器
其他浏览器可能有专门的图标。例如,Opera的Coast正在寻找一个228x228的图标。需要关注这些浏览器并不明显。当它们找不到“自己”的图标时,它们通常使用触摸图标或其他图标。
结论
正如一开始所宣布的那样,这正是RealFaviconGenerator所创建的。