HTML5结构标签section怎么用_章节内容组织规则【说明】

section标签必须自带h1–h6标题,表示有主题的独立章节,否则语义失效;它不可替代div做布局,子section须为父主题下的逻辑子章节;与article、div、nav的核心区别在于是否构成依赖上下文的文档大纲节。

section 标签不是“随便包一块内容”的容器

它表示文档中一个独立的、有主题的章节(section),必须自带明确的标题(

),否则语义失效,对屏幕阅读器和 SEO 都是噪音。
浏览器不会报错,但
没配标题,就等于写了 却硬说它是“章节”——结构上不成立。
  • 每个
    应该能被单独提取出来,仍可理解其主题(比如“用户评价”“技术参数”“安装步骤”)
  • 不要用它替代 做布局或样式分组;纯视觉分隔请用 或 CSS 容器
  • 嵌套需谨慎:子
    必须是父主题下的逻辑子章节,不能只为缩进或样式服务
  • section 和 article、div、nav 的关键区别

    混淆这四个标签是导致语义混乱的主因。判断依据不是“看起来像不像”,而是“内容是否构成独立、可复用、有标题的主题单元”:

:内容自成一体,可脱离上下文传播(如一篇博客、一条新闻、一个商品卡片);可嵌套在
里,也可独立存在
  • :是文档大纲中的一个“节”,依赖上下文(比如整篇教程里的“第三章:调试技巧”),不可单独发布
  • :无语义,仅用于样式或脚本钩子;当你拿不准用哪个,先选 ,再看能否升级为语义标签
  • :专指导航链接集合,不是所有链接列表都算 (页脚一堆友情链接通常不用)
  • 常见错误写法与修正示例

    下面这段 HTML 看似整洁,实则违反

    使用规则:

    这是产品亮点介绍

    • 支持离线使用
    • 兼容 Chrome/Firefox/Safari

    问题:没标题,无法表达“这是哪一节”。正确写法必须带层级标题:

    核心特性

    这是产品亮点介绍

    • 支持离线使用
    • 兼容 Chrome/Firefox/Safari
    • 标题级别要符合大纲顺序(比如主标题是

      ,章节用

      ,小节用

    • 避免用
      包裹单个

      或按钮组——那只是样式需求,不是章节
    • 多个同级
      出现时,确保它们在逻辑上并列(如“开发环境”“测试流程”“部署说明”)

    section 对 SEO 和无障碍的实际影响

    搜索引擎和读屏软件会解析

    + 标题组合,生成文档大纲。如果滥用,会导致:

    • Google 的搜索结果摘要可能提取错误“章节名”,降低点击率
    • 视障用户用快捷键跳转标题时,被大量无意义的
      干扰,无法快速定位真正内容
    • 部分旧版辅助工具(如 IE + JAWS)对嵌套
      支持不稳定,建议扁平化结构优先

    真正需要关注的不是“用了几个

    ”,而是“文档大纲是否真实反映了内容层次”——标题有没有、层级对不对、章节之间有没有逻辑断裂,这些比标签本身更关键。