main标签是HTML5中定义页面唯一主体内容的语义化标签,不包含页眉、导航等重复元素,每页仅能使用一次,且不能嵌套在header、nav、aside、footer等标签内,用于提升代码可读性、SEO及无障碍访问。

main 标签是 HTML5 中用于定义页面主要内容区域的语义化标签。它帮助开发者更清晰地组织网页结构,也提升了可访问性,让屏幕阅读器等辅助工具能快速定位到核心内容。
什么是 main 标签?
main 标签表示文档或应用程序的主体内容,这部分内容与页面其他部分直接相关,且不包含重复性元素,比如页眉、导航栏、侧边栏或页脚。
每个页面应当只有一个 main 区域,且不能出现在 article、aside、footer、header 或 nav 等容器中,因为它代表的是整个页面的主内容。
main 标签的基本用法
使用方式非常简单,直接用 <main></main> 包裹页面的核心内容即可。
立即学习“前端免费学习笔记(深入)”;
例如:
<header><h1>网站标题</h1>
<nav>导航链接</nav>
</header>
<main>
<h2>文章标题</h2>
<p>这是页面的主要内容段落。</p>
<article>
<h3>新闻一则</h3>
<p>具体内容……</p>
</article>
</main>
<aside>侧边栏内容</aside>
<footer>版权信息</footer>
使用时的注意事项
-
每页仅一个 main 标签:一个文档中不应出现多个
<main>,否则会破坏语义结构。 -
不要用于可复用的上下文:比如不能放在
<article>或<aside>内部,因为这些区域本身不属于“全局主内容”。 -
避免在多个视图中误用:如果是单页应用(SPA),切换视图时应确保只有一个 active 的
main区域。 -
提升可访问性的小技巧:可以为
main添加role="main"属性(虽然现代浏览器已自动支持)。
兼容性与降级处理
主流浏览器都支持 main 标签,但如果你需要支持较老版本 IE(如 IE11 及以下),需注意它无法识别 HTML5 新标签。解决方法是在页面中引入 html5shiv 或通过 CSS 声明:
display: block;
}
这样可以确保样式正常渲染。
基本上就这些。正确使用 main 标签,不仅让代码更有逻辑,也对 SEO 和无障碍访问有实际帮助。不复杂但容易忽略。











