Web サイトでは、コンテンツが複数の列に表示されることがよくあります (雑誌や新聞など)。

<div> 要素を使用した HTML レイアウト

注:<div> 要素は CSS 経由で簡単に配置できるため、レイアウト ツールとしてよく使用されます。

この例では、4 つの <div> 要素を使用して複数列レイアウトを作成します。

<body>

<div id="header">
<h1>City Gallery</h1>
</div>

<div id="nav">
London<br>
Paris<br>
Tokyo<br>
</div>

<div id="section">
<h1>London</h1>
<p>
London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.
</p>
<p>
Standing on the River Thames, London has been a major settlement for two millennia,
its history going back to its founding by the Romans, who named it Londinium.
</p>
</div>

<div id="footer">
Copyright W3cstudy.cc
</div>

</body>

自分で試してみてください

CSS:

<style>
#header {
    background-color:black;
    color:white;
    text-align:center;
    padding:5px;
}
#nav {
    line-height:30px;
    background-color:#eeeeee;
    height:300px;
    width:100px;
    float:left;
    padding:5px; 
}
#section {
    width:350px;
    float:left;
    padding:10px; 
}
#footer {
    background-color:black;
    color:white;
    clear:both;
    text-align:center;
    padding:5px; 
}
</style>

HTML5 を使用したサイト レイアウト

HTML5 は、Web ページのさまざまな部分を定義する新しいセマンティック要素を提供します。

HTML5 セマンティック要素

header ドキュメントまたはセクションのヘッダーを定義します
nav ナビゲーション リンクのコンテナを定義します
section ドキュメント内のセクションを定義します
article 独立した自己完結型の記事を定義する
aside 定義されたコンテンツ以外のコンテンツ (サイドバーなど)
footer ドキュメントまたはセクションのフッターを定義します
details 追加の詳細を定義する
summary 詳細要素のタイトルを定義します

この例では、<header>、<nav>、<section>、<footer> を使用して複数列レイアウトを作成します。

<body>

<header>
<h1>City Gallery</h1>
</header>

<nav>
London<br>
Paris<br>
Tokyo<br>
</nav>

<section>
<h1>London</h1>
<p>
London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.
</p>
<p>
Standing on the River Thames, London has been a major settlement for two millennia,
its history going back to its founding by the Romans, who named it Londinium.
</p>
</section>

<footer>
Copyright W3cstudy.cc
</footer>

</body>

自分で試してみてください

CSS

header {
    background-color:black;
    color:white;
    text-align:center;
    padding:5px; 
}
nav {
    line-height:30px;
    background-color:#eeeeee;
    height:300px;
    width:100px;
    float:left;
    padding:5px; 
}
section {
    width:350px;
    float:left;
    padding:10px; 
}
footer {
    background-color:black;
    color:white;
    clear:both;
    text-align:center;
    padding:5px; 
}

テーブルを使用した HTML レイアウト

注: <table> 要素はレイアウト ツールとして設計されたものではありません。

要素は、表形式のデータを表示するために使用されます。

 

テーブル要素は CSS 経由でスタイル設定できるため、レイアウト効果を実現するには <table> 要素を使用します。

<body>

<table class="lamp">
<tr>
  <th>
    <img src="/images/lamp.jpg" alt="Note" style="height:32px;width:32px">
  </th>
  <td>
    The table element was not designed to be a layout tool.
  </td>
</tr>
</table>

</body>

自分で試してみてください

CSS

<style>
table.lamp {
    width:100%;
    border:1px solid #d4d4d4;
}
table.lamp th, td {
    padding:10px;
}
table.lamp td {
    width:40px;
}
</style>