前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
首页程序员面试题库favicon 图标 sizes PNG ico
HTML语义与文档

网站 favicon 要提供哪些文件,sizes 怎么写?

在 <head> 中用 <link rel="icon"> 声明站点图标,type 描述资源的 MIME 类型,sizes 描述位图的固有像素尺寸。可以提供常用的 SVG 与 PNG 候选,让浏览器按自身支持和显示场景选择;不必为了所有可能设备枚举一大串尺寸。浏览器实际选哪个图标由平台和用途决定,标签页、收藏夹与主屏图标需求也可能不同。

前端进阶之旅 · 一题精讲更新于 2026.09.29
HTML#语义与文档
先看核心答案读代码示例
理解线索

浏览器从多个候选里选图

  1. rel="icon"在 head 提供一个或多个站点图标候选
  2. type声明真实 MIME 类型,帮助浏览器识别资源格式
  3. sizes位图写文件固有像素,不能靠属性把小图变清晰

它标注资源固有尺寸,浏览器最终绘制多大由界面场景决定。

核心回答

先记住这个答案

站点图标可以在 <head> 中用多条 <link rel="icon"> 提供不同资源;浏览器会结合文件类型、sizes 和使用场景选用。sizes 对位图描述的是固有像素尺寸,不能强迫标签页一定使用那张图。提供 SVG 与少量必要 PNG 候选通常比列几十种尺寸更清楚,主屏安装图标还可能走另一套声明。

  • rel="icon" 声明候选图标
  • type 提示资源格式
  • 位图 sizes 写固有像素尺寸
  • 安装图标另看 manifest

高密度屏上的品牌图标

一个品牌只上传了 16 像素 PNG,浏览器标签页清晰,但高密度屏或桌面快捷方式上发糊。可保留一个 SVG 图标,再提供合适尺寸的 PNG 后备,并在 PNG 的 sizes 写真实宽高。网页应用的安装图标还应在 manifest 中配置,不要误以为 rel="icon" 能覆盖所有安装场景。改了图标没立刻出现,也要考虑浏览器图标缓存。

SVG 与位图候选写法HTML
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="icon" href="/favicon-32.png"
      type="image/png" sizes="32x32">
<link rel="icon" href="/favicon-16.png"
      type="image/png" sizes="16x16">
<!-- sizes 写源文件尺寸,不是 CSS 显示尺寸 -->

rel="icon" 给浏览器一组候选资源;它会综合格式支持、尺寸和当前使用环境挑选,不保证严格按标签顺序。 示例中 PNG 的 sizes="32x32" 和 16x16 应与文件真实像素尺寸一致;写了 32×32 并不会把 16×16 图片变清晰。SVG 是可缩放矢量资源,通常不需要列一个固定像素尺寸。浏览器最后用哪个候选仍由实现与场景决定,所以测试要分别打开普通标签、书签以及产品真正支持的安装场景,不能只看源代码顺序。

浏览器从多个候选里选图

type 是资源格式提示,写错可能影响候选选择;sizes 对位图有用,SVG 等可缩放图标不必冒充某个固定像素尺寸。主屏幕添加、PWA 安装或不同平台图标还有各自入口。开发时最好把浏览器标签、书签与安装结果分别检查,而不是只看 Network 中是否请求了某个文件。

图标资源更新后,开发者常以为标签写错,实际可能是浏览器长期缓存了旧图标。检查时打开资源 URL 看响应内容与 MIME 类型,换一个全新文件名或清理缓存后再看标签页。SVG 图标适合多尺寸显示,但平台安装图标、收藏夹或旧环境可能另有格式要求;应该按产品真正支持的使用场景补候选,而非机械列出所有尺寸。

回答前,多想一步

容易答错的地方

把 sizes 当作浏览器显示大小
它标注资源固有尺寸,浏览器最终绘制多大由界面场景决定。
认为一个 favicon 覆盖所有设备入口
安装图标、主屏图标与标签页图标可能有不同配置与缓存。
试着用自己的话回答

面试官还会怎么问?

SVG 图标还要写固定 sizes 吗?

通常不需要,它可缩放;位图候选则应标注真实尺寸。

换了图标为什么仍显示旧图?

浏览器可能缓存图标,检查资源 URL、响应缓存及重新加载后的选择结果。

PWA 安装图标放哪里?

在 Web App Manifest 的 icons 中声明对应资源与尺寸。

从一道题,走向一组知识

把知识连起来

语义与文档

HTML 的 head 里哪些信息必须先写清楚?

favicon 的 link 与标题、编码一样,都是 <head> 中的资源或元数据声明。

语义与文档

写了 hidden 的元素,为什么还可能显示出来?

图标候选不会因页面 hidden 状态改变;隐藏元素与资源选择是两种机制。

参考资料

  • HTML:语义与文档参考资料

示例用于理解所注明的运行环境与边界;延伸学习可结合原文中的更多案例。

本题目录
  1. 先记住这个答案
  2. 高密度屏上的品牌图标
  3. 浏览器从多个候选里选图
  4. 容易答错的地方
  5. 面试官还会怎么问
  6. 把知识连起来
读懂,再试着讲出来

先看核心答案,再读代码。最后展开追问,检查自己有没有遗漏边界。

试着回答追问
浏览全部面试题理解原理,也关注真实的使用场景。回到顶部 ↑