HTML 布局

布局决定网页内容如何"排座位":顶部放导航、左侧放菜单、中间放正文。传统上人们用 <div> 加 CSS 拼布局,HTML5 又提供了 header、nav、section 等语义化标签,让页面结构既清晰又好维护。

布局的基本思路

任何网页布局都可以拆成若干"区域块",再用 CSS 控制每个块的宽度与位置。最常见的是上下分栏:顶部页眉、中间内容、底部页脚;中间还可以再左右分栏。块用什么标签装,就用下面的 div 或语义化标签。

传统 div 布局

<div> 划分区域,配合 CSS 的 floatwidthmargin 等属性排列位置,是老式页面最常用的方法。缺点是代码里全是无意义的 div,语义不明确。

<div id="header">网站标题</div>
<div id="nav">首页 | 教程 | 参考</div>
<div id="section">这里是正文内容区域</div>
<div id="footer">版权信息</div>

在浏览器中显示为:从上到下依次显示"网站标题""首页 | 教程 | 参考""这里是正文内容区域""版权信息"四个色块(配合 CSS 可有底色与间距)。

使用 CSS 控制布局

如今布局基本交给 CSS:float 让块左右浮动,flex 弹性盒与 grid 网格能更灵活地排布,页面宽度用百分比或固定像素设置。HTML 只负责结构,位置与外观全部由样式决定。

<div style="float:left;width:30%;background:#ddd;">左侧菜单</div>
<div style="float:left;width:70%;background:#f5f5f5;">右侧内容</div>

在浏览器中显示为:左右并排两个色块,左边占三成宽显示"左侧菜单",右边占七成宽显示"右侧内容"。

HTML5 语义化布局标签

HTML5 提供了带含义的布局标签:<header> 页眉、<nav> 导航、<section> 章节、<article> 独立文章、<aside> 侧边栏、<footer> 页脚。它们显示效果和 div 一样,但让搜索引擎和阅读代码的人一眼看懂结构。

<header>站点页眉</header>
<nav>导航链接</nav>
<section>
  <article>文章一的内容</article>
  <aside>侧边栏广告</aside>
</section>
<footer>版权与联系方式</footer>

在浏览器中显示为:自上而下排列的页眉、导航、正文区(内含文章与侧栏)、页脚几大块内容。

布局方式对比简表

方式代表写法优点缺点
表格布局table 嵌套老浏览器兼容好代码臃肿、不利于维护
div+CSSdiv + float结构样式分离div 泛滥、语义不明
HTML5 语义化header/nav/section语义清晰、利于 SEO需配合 CSS 才有外观
Flex/Griddisplay:flex/grid灵活强大、响应式友好需要额外学习 CSS

小结

布局 = 用标签划分区域 + 用 CSS 安排位置。新版页面推荐 HTML5 语义化标签搭配 Flex/Grid,结构清晰又灵活,是当今的主流做法。

笔记加载中…