ダウンロード サンプルファイル (502.0 KB)
本連載では、Webページをデザインする際、具体的にどのようにコーディングすれば良いのか分からない人のために、見出しやリスト、フォームなど、Webページを構成する部品のデザインサンプルを紹介し、CSSによるスタイリング方法を解説します。最終回となる今回は、CSS3で追加されたマルチカラムの機能を利用して、段組みレイアウトを簡単に実装する方法を紹介します。
はじめに
前回の記事では、floatプロパティを使った段組みレイアウトを紹介しました。これは複数のボックスをfloatプロパティで横並びに配置し、段組みレイアウトを実現するものでした。今回紹介する方法は、CSS3のマルチカラムレイアウト(Multi-column Layout)機能を利用して、1つのボックス内に複数の段組みを生成するものです。floatレイアウトのように、段を区切るためのマークアップを追加したり、段の高さを意識したりする必要がなく、簡単に段組みレイアウトを実現できます。特にコンテンツの内容がどのくらいの分量になるのかわからない場合など、長い文章を段に流し込みたい時に大変便利です。
対象読者
- (X)HTMLとCSSの基本を理解している方
- デザインのコツを学びたい方
必要な環境
本連載で動作確認を行ったブラウザは次のとおりです。
- Windows 7 Internet Explorer 11(以下IE 11)
- Windows 7 Firefox 33
- Windows 7 Chrome 38
マルチカラムによる段組みレイアウト
CSS3で追加されたマルチカラムレイアウトの機能を利用すると、ボックス内のコンテンツを簡単に段組みで表示することができます。段組みをどのように表示するかは、段の数、段の幅などで指定します。
「column-count」で段数を指定する
次のサンプルは、見出しと文章で構成されたコンテンツをdivで囲んでマークアップしたものです。
<div id="article"> <h1>星の銀貨</h1> <p>むかし、むかし、小さい女の子がありました。この子には、おとうさんもおかあさんもありませんでした。たいへんびんぼうでしたから、しまいには、もう住むにもへやはないし、もうねるにも寝床がないようになって、とうとうおしまいには、からだにつけたもののほかは、手にもったパンひとかけきりで、それもなさけぶかい人がめぐんでくれたものでした。</p> ~中略~ </div>
まだマルチカラムレイアウトを利用していない状態なので1段組みのレイアウトです。ここに、薄い黄色(#ffc)の背景色を指定し、周りに20pxのパディングと1.5倍の行間を指定しました。
div#article {
background-color: #ffc;
padding: 20px;
line-height: 1.5em;
}
読みやすくなるよう行間を開けてはいますが、1段組みでこの行の長さだと、やはり読みにくくなります。このような長文テキストを流し込む場合は、幅を半分にし、2段組みにすることで可読性が上がります。
段組みの数は、column-countプロパティを使って指定します。ここでは「column-count:2;」を指定して、コンテンツを2段組みにしました。
なお、マルチカラム関連のプロパティは、現時点ではベンダープレフィックスを付けて指定する必要があります。次のように、Firefox向けに「-moz-」、Google ChromeやSafari向けに「-webkit-」を付けて指定しましょう。
div#article {
~略~
-moz-column-count: 2; /* Firefox向け */
-webkit-column-count: 2; /* Chrome, Safari向け */
column-count: 2;
}
たったこれだけの指定で2段組みレイアウトを実現できます。
このとき、コンテンツは各段が同じくらいの高さになるよう自動的に分割されます。floatレイアウトでは、各段組みの背景色の高さを揃えるのに一工夫必要でしたが、マルチカラム機能を利用したレイアウトでは背景の高さを意識する必要はありません。
column-countで指定した場合、描画領域の幅が変わっても常に段の数は同じです。リキッドレイアウトにも簡単に取り入れることができて便利です。
- 修正履歴
-
- 2015/01/14 10:53 タイトルの誤字を修正いたしました。
この記事は参考になりましたか?
- CSSで作るWeb用パーツ連載記事一覧
-
- デザインサンプルで学ぶCSSによるスタイリング~「テキスト(マルチカラム)」編
- デザインサンプルで学ぶCSSによるスタイリング~「floatプロパティによるレイアウト」編
- デザインサンプルで学ぶCSSによるスタイリング~「フォーム(お問い合わせフォーム)」編
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 宮本麻矢(ミヤモト マヤ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア




