HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

HTMLとCSSでフローティングレイアウトを作成する方法をわかりやすく解説

フローティングレイアウトとは

HTMLでフローティングレイアウトを作成するには、CSSのFloat(フロート)プロパティを使用します。Webサイトでは、コンテンツを見やすく表示するために複数のカラム(段組み)構成がよく採用されますが、CSS Floatはそのマルチカラムレイアウトを実現する手法のひとつです。

フローティングレイアウトは、Webサイトのレイアウト設計で古くから広く使われている定番の手法です。要素にfloat: left;float: right;を指定することで、要素を左右に寄せ、その横に他の要素を回り込ませることができます。

以下は、ヘッダー・ナビゲーション・本文・フッターで構成された、簡単に作成できるフローティングレイアウトの例です。

サンプルコード

次のコードを実行すると、上記のようなフローティングレイアウトをHTMLで実際に作成できます。ナビゲーション部分(nav)にfloat: left;を指定し、本文(article)がその横に回り込む構造になっています。

<!DOCTYPE html>
<html>
   <head>
      <style>
         div.mycontent {
            width: 100%;
            border: 1px solid green;
         }
         header, footer {
            padding: 1em;
            color: green;
            background-color: #FAFAFA;
            text-align: left;
         }
         nav {
            float: left;
            max-width: 150px;
            padding: 1em;
         }
         nav ul {
            list-style-type: none;
            padding: 0;
         }
         article {
            margin-left: 10px;
            border-left: 1px solid gray;
            padding: 1em;
            overflow: hidden;
         }
      </style>
   </head>
   <body>
      <div class="mycontent">
         <header>
            <h1>Tutorialspoint.com</h1>
            <h3>Simply Easy Learning</h3>
         </header>
         <nav>
           <ul>
              <li><a href="/tutorialslibrary.htm">Tutorials Library</a></li>
              <li><a href="/videotutorials/index.htm">Video Tutorials</a></li>
              <li><a href="/codingground.htm">Coding Ground</a></li>
              <li><a href="/tutor_connect/index.php">Tutor Connect</a></li>
              <li><a href="/online_dev_tools.htm">Tools</a></li>
           </ul>
         </nav>
         <article>
           <h1>About Us</h1>
           <p>This is demo content.</p>
           <p>This is demo content.</p>
           <p>This is demo content.</p>
           <p>This is demo content.</p>
         </article>
         <footer>Add the footer content here</footer>
      </div>
   </body>
</html>

コードのポイント

このサンプルコードのポイントは以下の通りです。

  • nav要素float: left;を指定することで左側に配置され、ナビゲーションメニューが縦に並びます。
  • article要素overflow: hidden;を指定することで、floatの影響を含んだ高さを正しく計算し、レイアウトの崩れを防ぎます(いわゆるclearfixの代替手法)。
  • header / footer要素:floatの影響を受けずに、ページの上下に全幅で配置されます。

なお、近年のWeb制作では、より柔軟なレイアウトが可能なFlexboxCSS Gridが主流になりつつありますが、フロートは回り込みテキストなどで今も有効なプロパティです。レガシーなコードの保守や、基本的なレイアウトの仕組みを理解するうえで、フローティングレイアウトの知識は役立ちます。


  1. HTMLでフレックスボックスレイアウトを作成するには?基本から実装例まで解説

    HTMLでフレックスボックスレイアウトを作成するには、CSSのdisplay: flexプロパティを使用します。Webサイトではコンテンツを複数カラムで表示することが多くありますが、フレックスボックスはそうしたマルチカラムレイアウトを実現するための最も柔軟で強力な手法の一つです。フレックスボックスレイアウトはCSS3で導入されたレイアウトモデルです。画面サイズに応じて要素が自動的に伸縮・折り返しを行うため、PC・タブレット・スマートフォンなど、さまざまな表示デバイスでも正しく表示できます。また、従来のfloatレイアウトで問題となりがちだったマージン崩れも発生せず、画面サイズに合わせて柔軟にレ

  2. HTMLで参考文献(Bibliography)を作成する方法

    参考文献(Bibliography)とは、執筆時に参照した書籍や資料の一覧をまとめて記載するセクションのことです。HTMLを使えば、こうした参考文献リストを簡単に作成できます。具体的には、<ol>タグで書籍を番号付きリストとして列挙し、<cite>タグで作品のタイトルをマークアップします。 <cite>タグは、書籍のタイトルだけでなく、楽曲、絵画、映画など、さまざまな作品のタイトルを示す際にも使用できます。このタグは「引用」を意味しており、タグ内に記述した内容はすべて作品のタイトルとして扱われます。 サンプルコード それでは、実際にHTMLで参考文献リスト