前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
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 热点
旧版
首页程序员面试题库HTML head meta charset viewport 作用
HTML语义与文档

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

<head> 放的是文档元数据和资源声明,不是页面可见正文。常见基础项包括字符编码、页面标题、视口声明、描述以及样式和图标链接。<meta charset="UTF-8"> 帮助浏览器正确解码文档;移动端 viewport meta 建立合适的布局视口。

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

元数据不等于正文结构

  1. head容纳文档级标题、元数据和资源声明,不放可见正文
  2. meta charset应尽早写明编码,避免浏览器先误读中文内容
  3. viewport meta给移动浏览器合适布局视口,响应布局仍由 CSS 完成

可见的站点页头属于 <body>,文档元数据才放 <head>。

核心回答

先记住这个答案

<head> 承载文档级信息:标题、编码、视口、描述和资源链接等,浏览器会据此解码与加载页面。元素放在这里不等于自动完成 SEO;例如 <meta name="description"> 只是提供摘要候选,页面正文仍要可读。写基础骨架时先保证字符编码与页面标题正确,再按实际需要加视口和资源声明。

  • head 放文档元数据
  • charset 应尽早声明
  • viewport 建立移动布局视口
  • title 与正文标题职责不同

乱码和缩小页面先查 head

一个页面中文标题乱码,手机上又像缩小的桌面网页。先查 HTTP 响应的编码与 <meta charset> 是否一致,再看 <meta name="viewport">。<title> 会用于浏览器标签和搜索结果标题候选,description 提供页面摘要候选;它们应和正文内容一致。不要把脚本、样式、标题等都按随机顺序堆放,尤其字符编码声明应尽早出现。

页面元数据的基础组合HTML
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>订单详情|示例站</title>
  <meta name="description" content="查看订单商品与配送进度">
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
</head>

浏览器在解析文档开头时需要尽早确定编码,避免先按错误编码解释后面的文字。 示例的 <meta charset> 要尽早出现在文档头部,让浏览器在读取中文标题和描述前确定编码。<title> 是浏览器标签文字,也是搜索摘要的重要候选;可见正文标题则仍由 <h1> 等元素表达。资源链接里的图标路径若返回 404,不会因为声明在 <head> 中就自动有回退,仍需查看网络请求与部署路径。

元数据不等于正文结构

title 是文档标题,不等于页面里的一级标题;meta description 是摘要提示,并不保证搜索引擎原样显示。viewport meta 影响移动浏览器建立布局视口的方式,CSS 才决定具体列数与字体。资源链接和脚本也可放在 head,但加载与执行行为取决于元素类型和属性,不能简单认为放进去就一定阻塞页面。

例如页面出现乱码时,先看响应头和文档的编码声明是否一致,而不是只给某个段落换字体;手机页面像缩小的桌面网站,则先查 viewport 声明,再看实际响应式 CSS。<title> 是浏览器标签和搜索结果的重要候选,和可见的 <h1> 可以相关但职责不同。<head> 中的资源加载也会影响首屏,第三方脚本不能因为看不见就随意堆在里面。

回答前,多想一步

容易答错的地方

把 <head> 当成页面顶栏
可见的站点页头属于 <body>,文档元数据才放 <head>。
认为 meta description 保证搜索摘要
搜索引擎会根据查询和页面内容选择摘要,不保证照搬。
试着用自己的话回答

面试官还会怎么问?

title 和 <h1> 是一回事吗?

不是。前者是文档元数据,后者是正文标题;内容应相关但承担不同作用。

视口 meta 写了还要写媒体查询吗?

要。它提供布局视口基础,具体响应式布局仍由 CSS 决定。

编码优先看 HTTP 头还是 meta?

响应头的字符集声明通常优先,二者应保持一致以免解码混乱。

从一道题,走向一组知识

把知识连起来

语义与文档

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

hidden 作用于正文元素的呈现,与 <head> 中的元数据不属于一层。

语义与文档

iframe sandbox 默认限制什么,放行权限要注意什么?

iframe sandbox 是嵌入页面权限控制,不是任意 head meta 能替代的策略。

参考资料

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

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

本题目录
  1. 先记住这个答案
  2. 乱码和缩小页面先查 head
  3. 元数据不等于正文结构
  4. 容易答错的地方
  5. 面试官还会怎么问
  6. 把知识连起来
读懂,再试着讲出来

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

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