什么是 Favicon?

Favicon(全称是 "favorite icon",即“收藏夹图标”)是网站显示在浏览器标签页、书签栏、历史记录、地址栏等位置的小图标

网站favicon.ico
(图片来源网络,侵删)

它就像网站的“脸谱”,是品牌识别的一部分,能帮助用户在众多标签页中快速识别你的网站。

Favicon 有什么用?

  • 品牌识别:这是最主要的作用,一个设计精良的 Favicon 能强化用户对你网站的视觉记忆,比如著名的蓝色 "f" 代表 Facebook,齿轮 ⚙️ 代表 Twitter/X。
  • 提升专业度:几乎所有专业网站都有 Favicon,没有它,网站在用户眼中会显得不够完整和专业。
  • 增强用户体验:当用户打开十几个标签页时,一个清晰的 Favicon 远比一个默认的空白页面图标更容易辨认,方便用户快速切换和关闭页面。
  • 增加可信度:一个标准、规范的 Favicon 会给用户一种“这个网站是正规、可信赖的”感觉。

Favicon 的技术细节

文件名和格式

  • 传统文件名favicon.ico,这是最古老、最通用的名称,虽然现代浏览器已经不强制要求文件名必须是这个,但为了最大程度的兼容性(特别是旧版浏览器),强烈建议将你的图标文件命名为 favicon.ico 并放置在网站的根目录下(https://www.yourdomain.com/favicon.ico)。
  • 现代格式:现在推荐使用更现代的格式,如 PNGSVG,因为它们支持透明度和更高的分辨率。
    • PNG: 优点是兼容性好,支持透明度,你可以使用 favicon.png,并通过 <link> 标签指定。
    • SVG: 优点是矢量格式,可以无限放大而不失真,是未来的趋势,你可以使用 favicon.svg

尺寸

Favicon 的尺寸多种多样,因为需要适应不同的设备和场景,一个现代的 Favicon 需要准备多个尺寸:

  • 16x16 像素: 这是最经典、最基础的尺寸,必须要有。
  • 32x32 像素: 在 Windows 等桌面操作系统的任务栏和快捷方式上会用到。
  • 192x192 像素: 用于 Android 设备和 Chrome 等现代浏览器的“应用模式”。
  • 180x180 像素: 苹果的设备(iPhone, iPad)推荐使用这个尺寸。
  • 512x512 像素: 用于生成更丰富的“网站清单”(Web App Manifest),以便在安装到手机主屏幕时获得高清图标。

最佳实践:生成一个包含多种尺寸的 favicon.ico 文件(通常包含 16x16, 32x32, 48x48),同时再单独提供 apple-touch-icon.png (180x180) 和 android-chrome-192x192.png (192x192)。


如何添加 Favicon 到你的网站?

有几种方法,从最简单到最推荐。

网站favicon.ico
(图片来源网络,侵删)

最简单的方法(仅适用于 favicon.ico

如果你只使用 favicon.ico 文件,并且将它放在网站的根目录下,那么很多现代浏览器会自动去寻找它,你甚至不需要在 HTML 中做任何事。

不推荐完全依赖这种自动发现,因为某些旧版浏览器或特定场景可能不会自动加载。

标准方法(使用 <link>

这是最可靠、最规范的方法,在你的 HTML 文件的 <head> 部分添加以下代码。

示例 1:只使用 favicon.ico

网站favicon.ico
(图片来源网络,侵删)
<link rel="icon" href="/favicon.ico" type="image/x-icon">
  • rel="icon":告诉浏览器这是一个网站图标。
  • href="/favicon.ico":指向图标文件的路径。 表示从网站根目录开始查找。
  • type="image/x-icon":指定文件的 MIME 类型。

示例 2:使用现代格式(推荐)

为了获得最佳效果和兼容性,建议同时提供多种格式和尺寸的图标。

<!-- 基础的 favicon.ico -->
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<!-- 推荐使用 PNG 格式,支持透明度 -->
<link rel="icon" href="/favicon-16x16.png" type="image/png" sizes="16x16">
<link rel="icon" href="/favicon-32x32.png" type="image/png" sizes="32x32">
<!-- Apple 设备的触摸图标 -->
<link rel="apple-touch-icon" href="/apple-touch-icon.png" sizes="180x180">
<!-- Android 设备的图标 -->
<link rel="manifest" href="/site.webmanifest">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/mstile-144x144.png">

这段代码做了几件事:

  1. 提供了标准的 favicon.ico 作为后备。
  2. 提供了高清的 PNG 图标,并指定了尺寸。
  3. 为苹果设备提供了专用的 apple-touch-icon
  4. 引用了 site.webmanifest 文件,这是现代 Web 应用的标准配置文件,可以集中定义网站的图标、主题色等。

如何制作 Favicon?

制作 Favicon 非常简单,有很多工具可以使用:

  1. 在线生成器(最简单)

    • Favicon.io: 非常流行,可以上传一张图片,它会自动生成你需要的所有尺寸的 icopngsvg 文件,甚至还会帮你生成 site.webmanifest 和对应的 HTML 代码。
    • RealFaviconGenerator: 功能非常强大的在线工具,提供详细的配置选项和测试页面。
    • favicon.cc: 一个简单的在线像素画编辑器,适合自己手绘一个简单的图标。
  2. 设计软件

    • Figma / Sketch / Adobe Illustrator: 你可以设计一个高分辨率的矢量或位图,然后导出为 pngsvg 格式,之后可以使用在线工具将其转换为 ico 格式。
  3. 命令行工具

    • 对于开发者,可以使用 favicon-cli 等工具在项目中快速生成。

常见问题排查 (FAQ)

Q: 为什么我设置了 Favicon,但浏览器不显示?

A: 这是最常见的问题,原因通常是:

  1. 缓存问题: 浏览器缓存了旧的、没有图标的页面。强制刷新 页面(通常是 Ctrl + F5Cmd + Shift + R)。
  2. 路径错误: href 属性中的路径不正确,请确保路径是相对于当前 HTML 文件的正确路径,或者使用绝对路径(以 https:// 开头)。
  3. 文件名错误: 文件名不是 favicon.ico 且没有通过 <link> 标指明。
  4. 文件未上传: 确保你已经将 .ico.png 文件上传到了你的服务器上。
  5. MIME 类型错误: 服务器可能没有正确配置 .ico 文件的 MIME 类型(应该是 image/x-icon),但这对于大多数主流托管服务商(如 Vercel, Netlify, GitHub Pages)来说不是问题。

Q: 我应该使用什么尺寸的图标?

A: 推荐准备 16x16, 32x32, 180x180 (Apple), 192x192 (Android), 512x512,然后使用在线工具生成一个包含 16x16 和 32x32 的 favicon.ico 文件,并单独放置其他尺寸的文件。

为你的网站添加一个 Favicon 是一个投入小、回报高的优化,它不仅关乎美观,更关乎品牌形象和用户体验。

行动清单:

  1. 设计或选择一个图标(最好是矢量图,方便缩放)。
  2. 使用 Favicon.io 或类似工具生成所有需要的文件。
  3. 将生成的文件(如 favicon.ico, favicon-16x16.png, apple-touch-icon.png 等)上传到你的网站根目录。
  4. 将对应的 <link> 标签复制到你的 HTML 文件的 <head> 部分。
  5. 强制刷新浏览器,检查图标是否正确显示。