HTML多级标题必须用~按重要性逐级降序使用,每个页面仅一个,禁用和align属性,副标题改用或加CSS控制,段落间距用margin而非。

用 <h1></h1> 到 <h6></h6> 构建语义化层级
HTML 多级标题不是靠缩进、样式或嵌套实现的,而是靠 <h1></h1>~<h6></h6> 这组原生标签按内容重要性逐级降序使用。浏览器默认会加粗、放大文字并独占一行,但真正关键的是它们构成文档大纲(outline),影响 SEO 和屏幕阅读器解析。
常见错误现象:<h3></h3> 出现在 <h2></h2> 之前、跳级使用(如 <h1></h1> 后直接 <h4></h4>)、全文多个 <h1></h1> —— 这些都会破坏语义结构,导致大纲混乱或被搜索引擎降权。
- 每个页面应有且仅有一个
<h1></h1>,通常对应主标题或品牌名 -
<h2></h2>表示一级子章节,<h3></h3>是<h2></h2>下的子节,依此类推 - 不要为了视觉效果“假装”层级:比如把副标题写成
<h2></h2>却用 CSS 压小字体——它仍会被当作独立标题节点
别再用 <hgroup></hgroup> 包裹主副标题
<hgroup></hgroup> 已被 HTML 标准正式移除(自 HTML5.2 起),所有现代浏览器忽略其语义作用。你写 <hgroup><h1>Vue</h1>
<h2>The Progressive Framework</h2></hgroup>,对大纲、SEO、无障碍没有任何实际影响,只是白写一层标签。
替代方案更轻量也更可控:
立即学习“前端免费学习笔记(深入)”;
- 主标题用
<h1></h1>,副标题改用<p class="subtitle"></p>或<span></span>,纯 CSS 控制样式(大小、颜色、间距) - 若需辅助技术将副标题作为主标题的补充说明,给
<h1></h1>加aria-labelledby属性,指向副标题元素的id - 避免用
<h2></h2>~<h6></h6>写副标题——它会强行插入一个大纲节点,干扰层级逻辑
对齐方式别依赖 align 属性
老教程里常见 <h1 align="center"></h1>,但 align 是 HTML4 的废弃属性,在 HTML5 中已无规范支持。虽然部分浏览器仍能渲染,但不可靠,且与语义无关。
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
正确做法是用 CSS 控制对齐:
- 全局统一控制:在 CSS 中写
h1, h2, h3 { text-align: center; } - 按需单独设置:给特定标题加 class,如
<h2 class="right-aligned"></h2>,再定义.right-aligned { text-align: right; } - 响应式场景下,CSS 更灵活,比如
@media (max-width: 768px) { h1 { text-align: left; } }
段落与标题之间留白由浏览器默认行为决定
很多人手动加 <br> 或空 <p></p> 来“增加间距”,这反而污染语义。实际上 <p></p> 和 <h1></h1>~<h6></h6> 都是块级元素,默认自带上下外边距(margin),这个间隙是可预测、可覆盖的。
需要调整时,优先用 CSS:
- 重置默认:写
h2 { margin-top: 0.5em; margin-bottom: 1em; } - 避免用
padding替代margin:标题内部填空会影响行高和点击热区 - 注意
margin-collapse现象:相邻块级元素的垂直 margin 会合并,这是正常行为,不是 bug


















