HTML 布局

网站常常以多列显示内容(就像杂志和报纸)。

使用 <div> 元素的 HTML 布局

注释:<div> 元素常用作布局工具,因为能够轻松地通过 CSS 对其进行定位。

这个例子使用了四个 <div> 元素来创建多列布局:

实例

  1. <body>
  2.  
  3. <div id="header">
  4. <h1>City Gallery</h1>
  5. </div>
  6.  
  7. <div id="nav">
  8. London<br>
  9. Paris<br>
  10. Tokyo<br>
  11. </div>
  12.  
  13. <div id="section">
  14. <h1>London</h1>
  15. <p>
  16. London is the capital city of England. It is the most populous city in the United Kingdom,
  17. with a metropolitan area of over 13 million inhabitants.
  18. </p>
  19. <p>
  20. Standing on the River Thames, London has been a major settlement for two millennia,
  21. its history going back to its founding by the Romans, who named it Londinium.
  22. </p>
  23. </div>
  24.  
  25. <div id="footer">
  26. Copyright yousite.com
  27. </div>
  28.  
  29. </body>

CSS:

  1. <style>
  2. #header {
  3. background-color:black;
  4. color:white;
  5. text-align:center;
  6. padding:5px;
  7. }
  8. #nav {
  9. line-height:30px;
  10. background-color:#eeeeee;
  11. height:300px;
  12. width:100px;
  13. float:left;
  14. padding:5px;
  15. }
  16. #section {
  17. width:350px;
  18. float:left;
  19. padding:10px;
  20. }
  21. #footer {
  22. background-color:black;
  23. color:white;
  24. clear:both;
  25. text-align:center;
  26. padding:5px;
  27. }
  28. </style>

使用 HTML5 的网站布局

HTML5 提供的新语义元素定义了网页的不同部分:

HTML5 语义元素

header 定义文档或节的页眉
nav 定义导航链接的容器
section 定义文档中的节
article 定义独立的自包含文章
aside 定义内容之外的内容(比如侧栏)
footer 定义文档或节的页脚
details 定义额外的细节
summary 定义 details 元素的标题

这个例子使用 <header>, <nav>, <section>, 以及 <footer> 来创建多列布局:

实例

  1. <body>
  2.  
  3. <header>
  4. <h1>City Gallery</h1>
  5. </header>
  6.  
  7. <nav>
  8. London<br>
  9. Paris<br>
  10. Tokyo<br>
  11. </nav>
  12.  
  13. <section>
  14. <h1>London</h1>
  15. <p>
  16. London is the capital city of England. It is the most populous city in the United Kingdom,
  17. with a metropolitan area of over 13 million inhabitants.
  18. </p>
  19. <p>
  20. Standing on the River Thames, London has been a major settlement for two millennia,
  21. its history going back to its founding by the Romans, who named it Londinium.
  22. </p>
  23. </section>
  24.  
  25. <footer>
  26. Copyright yousite.com
  27. </footer>
  28.  
  29. </body>

CSS

  1. <style>
  2. header {
  3. background-color:black;
  4. color:white;
  5. text-align:center;
  6. padding:5px;
  7. }
  8. nav {
  9. line-height:30px;
  10. background-color:#eeeeee;
  11. height:300px;
  12. width:100px;
  13. float:left;
  14. padding:5px;
  15. }
  16. section {
  17. width:350px;
  18. float:left;
  19. padding:10px;
  20. }
  21. footer {
  22. background-color:black;
  23. color:white;
  24. clear:both;
  25. text-align:center;
  26. padding:5px;
  27. }

使用表格的 HTML 布局

注释:<table> 元素不是作为布局工具而设计的。

<table> 元素的作用是显示表格化的数据。

使用 <table> 元素能够取得布局效果,因为能够通过 CSS 设置表格元素的样式:

实例

  1. <body>
  2.  
  3. <table class="lamp">
  4. <tr>
  5. <th>
  6. <img src="/images/lamp.jpg" alt="Note" style="height:32px;width:32px">
  7. </th>
  8. <td>
  9. The table element was not designed to be a layout tool.
  10. </td>
  11. </tr>
  12. </table>
  13.  
  14. </body>

CSS

  1. <style>
  2. table.lamp {
  3. width:100%;
  4. border:1px solid #d4d4d4;
  5. }
  6. table.lamp th, td {
  7. padding:10px;
  8. }
  9. table.lamp td {
  10. width:40px;
  11. }
  12. </style>