mdn web docs 是查 html 标签的唯一靠谱入口,应优先查看“permitted content”和“attributes”栏,注意语义、版本差异及规范依据,避免依赖过时或误导性手册。

查 HTML 标签不用翻“大全”或“手册”,MDN Web Docs 就是唯一靠谱入口,其他所谓“汇总页”不是过时就是漏关键属性。
怎么快速查某个标签的合法子元素和属性
比如想确认 <ul></ul> 能不能直接放 <p></p>,或者 <button></button> 支持哪些全局属性——别猜,也别搜“HTML 标签大全”。打开 MDN,在搜索框输 ul 或 button,进对应页面看 “Permitted content” 和 “Attributes” 两栏。
-
<ul></ul>只允许<li>作为直接子元素,放<p></p>是解析错误,浏览器会自动闭合或修复,但 DOM 结构已变 -
class、id、data-*是所有元素都支持的全局属性;disabled只对表单控件有效,对<div> 加了也没用<li>有些属性如 <code>required只在特定上下文(如<input type="email">)才触发校验,单独写没意义 -
<small></small>在 HTML5 中语义是“附属细则”,不是“变小字体”——用它做标题缩略字,SEO 和屏幕阅读器都会误读 -
<article></article>不是“随便包一块内容”,必须能独立分发或复用,否则该用<section></section> - 很多页面把
<div> 当万能胶,却漏掉 <code><time></time>、<address></address>这类有明确语义的标签,影响可访问性和搜索引擎理解遇到“标签不生效”先查这三件事
写了
<mark></mark>没高亮?<details></details>点不开?别急着换框架,先看基础链路:立即学习“前端免费学习笔记(深入)”;
- 是否被 CSS 重置:比如全局
* { all: unset; }会干掉<details></details>的默认折叠逻辑 - 是否嵌套非法:如
<a></a>里再套<button></button>,浏览器会静默截断,DOM 树里根本不存在内层元素 - 是否依赖 JS 补全:像
<dialog></dialog>必须调用.showModal()或.show()才可见,光写标签没用
HTML 规范本身很薄,真正难的是理解每个标签在 DOM、CSS、无障碍、SEO 四条线上的实际作用。查文档时盯住 MDN 页面右上角的“Specifications”链接,点进去看 WHATWG 或 W3C 原文,比背“常用标签列表”管用十倍。
- 是否被 CSS 重置:比如全局
为什么 W3Schools 和国内“HTML 手册”常误导人
它们爱列“所有标签+简单说明”,但不标版本差异、不写规范依据、不提渲染行为。比如:










