通八洲科技

html5的article和section有啥区别_html4用什么代替【详解】

日期:2026-01-01 00:00 / 作者:星夢妙者
article 表示可独立分发、引用、订阅的内容单元,如博客正文、新闻、评论;section 仅是文档内部逻辑分块,如“产品特性”,不构成完整信息单元。

article 和 section 的语义差异到底在哪

区别不在嵌套规则或外观表现,而在内容是否具备「独立分发」能力。article 表示能脱离当前页面被单独引用、重用、订阅的内容单元,比如一篇博客正文、一条新闻、一个用户评论;section 只是文档内部的逻辑分块,比如“产品特性”“用户反馈”“技术参数”这些为组织内容服务的区块,本身不构成完整信息单元。

常见误用现象:
– 把整页导航栏、页脚包裹进 section(应直接用 nav / footer
– 把带标题的列表项强行套 article(如“热门标签”列表里的每个标签不是独立内容)
– 在 article 内部又用 section 做小节划分(这完全合理,且推荐)

HTML4 里没有 article 和 section 怎么办

HTML4 没有语义化区块元素,开发者只能靠 div + class 名模拟,比如:

  

标题

正文...

小节标题

内容...

但仅靠 class 不会被屏幕阅读器或搜索引擎识别为内容结构,也无法触发现代浏览器的语义化解析行为(如自动生成大纲、辅助导航)。若需兼容旧环境又想保留语义,可配合 ARIA 属性临时补救:

什么时候必须用 article,而不是 section

判断依据只有一个:这个内容块能否被 RSS 订阅、被第三方聚合、被单独 URL 引用。满足就用 article,否则优先考虑 section 或更具体的语义元素(如 asidenav)。

浏览器兼容性和实际影响

articlesection 在 IE8 及更早版本完全不识别,连基本样式支持都没有;IE9+ 开始支持,但不支持其语义化行为(如大纲生成)。不过,只要不依赖 CSS 选择器 article 或 JS 查询 document.querySelector('article'),降级到 div 并加 class 是安全的。

真正的影响在可访问性与 SEO:

如果项目必须支持 IE8,别硬套 HTML5 语义——先确保功能可用,再通过 Modernizr 或条件注释渐进增强。