section和article嵌套时结构变乱该怎么处理?
在用HTML5语义标签做博客页面时遇到问题,用了section包裹article标签,但布局完全乱了:
<section>
<article>
<header>文章标题</header>
文章内容...
<footer>作者信息</footer>
</article>
</section>
原本打算用flex布局让侧边栏和主体并排显示,但发现article的高度计算不对,内容溢出到外面了。之前用div的时候没问题,是不是我嵌套方式不对?还是需要给语义标签加特殊样式?要不要放弃section直接用div套article?
你遇到的是 flex 项目(article)没有被正确约束高度导致的溢出。建议改成给父容器设 flex 并控制子项的 flex 属性。
把外层 section 设为 flex 容器,确保 article 不拉伸溢出:
同时检查 article 是否有固定高度或者父级没设高度限制。如果主体区域需要随内容自适应,别忘了给 html/body 设置 height: 100% 或使用 min-height。
语义结构保留完全没问题,
<section><article>这种写法在博客列表页很常见,关键是用 CSS 控制好 flex 行为,加上 min-width: 0 能解决大多数内容溢出问题。