正在加载...

HTML 布局

语义之后是 布局:组装区域;CSS 负责摆放。

先结构后视觉摆放

先理清页面故事,再做栏——不要巨型表格。

直接回答

landmarks 骨架。独特内容放 main。栏用 CSS。不要用布局 table。

📊 HTML structure vs CSS visuals

Layer Responsibility Examples
HTML landmarks Name page regions by meaning header, nav, main, aside, footer
HTML wrappers Optional styling hooks with no landmark role div class="row"
CSS Visual columns, gaps, widths, order on screen flex, grid, margin, width
Avoid Fake layout with data tables table/tr/td for the whole site chrome

landmark 页面骨架

header、行、main+article、aside、footer。div.row 只是 CSS 钩子。

Landmark layout skeleton

html
HTML Code
<body>
<header>
<h1>News</h1>
<nav>
<a href="index.html">Home</a>
<a href="local.html">Local</a>
</nav>
</header>
<div class="row">
<main>
<article>
<h2>Story</h2>
<p>Primary article content goes here.</p>
</article>
</main>
<aside>
<h2>Related</h2>
<p>Side links and notes.</p>
</aside>
</div>
<footer>
<p>Contact</p>
</footer>
</body>

读骨架

  • 故事在 main
  • aside 相关
  • 无 CSS 时仍纵向堆叠

用小段 CSS 提示分栏

同一 landmarks;.row 用 flex。

Layout skeleton with flex row

html
HTML Code
<body>
<header><h1>News</h1></header>
<div class="row">
<main>
<article><h2>Story</h2><p>Primary content.</p></article>
</main>
<aside><h2>Related</h2><p>Side note.</p></aside>
</div>
<footer><p>Contact</p></footer>
<style>
.row { display: flex; gap: 16px; }
main { flex: 2; }
aside { flex: 1; }
</style>
</body>

读 flex 预览

  • 含义不变
  • main 更宽
  • 不要用 td 做栏

表格用于数据,不是页面框架

避免布局表格。

练习

  1. header/main/aside/footer
  2. article 只在 main
  3. 不要布局 table

易错点

  • 布局表格
  • 省略 main
  • 把 row 当 landmark

小结

  • HTML 命名;CSS 摆放
  • 避免布局表格
  • 下一课:响应式

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
5
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部