【CSS】2段組/2カラムレイアウトの作り方

CSSでお手軽に2カラム/2段組レイアウトを作りたいときはFlexboxがおすすめです。手順は簡単、コピペで使えるサンプルコードも公開中です。レスポンシブ対応済、幅や高さの調整もOK!深く悩まずに導入できます。
Welcome
  • 幅・高さ調整可
  • レスポンシブ対応済
  • カラム→カラムへの文字連携は考えない(連携させたい場合はColumnを利用)

サンプル

等幅レイアウト

シンプルな2カラム/2段組レイアウトです。等幅で表示させています。
雑誌で見かけるような形式で、文章をカラム間に連動させたい場合はcolumnがおすすめです。ただ、Webではあまり活用する機会はないかもしれません。

1:2レイアウト

横幅を1:2の比率で表示させてみました。
ディスプレイサイズが700px以下の場合は、カラムが縦一列に表示されます。デスクトップでご覧の場合は、ウィンドウサイズを変更してみてください。

コード

HTML

等幅レイアウト

1:2レイアウト

CSS

解説

Html

まず、Htmlコードのほうですが、どちらのレイアウトも、1つの行(myrow)のなかに2つのカラムを入れています。そして、「等幅」と「1:2」の違いは1か所だけです。2つ目のセクションを「col-1」から「col-2」に変えることで、等幅レイアウトから1:2レイアウトへ変更しています。

CSS

myrowで「FlexBox」を使いますと宣言して、クラス「col-1」~「col-6」は各カラムの比率を定義しています。このデモでは、「col-1」と「col-2」を使って、1:2レイアウトを実現していますが、例えば、「col-3」と「col-4」を使えば、3:4レイアウトを実現できます。最後のMedia Screenはモバイル端末の時に縦一列に表示させるブロックです。

WordPressのショートコードプラグインとの違い

Shortcode Ultimateなどのプラグインを利用しても同じような2段カラムをつくることができます。しかし、1つだけショートコードには問題点があります。それは、ショートコードで挟んだタグ間のテキストがRSSに反映されないということです。SEOの観点からも、文字情報は重要な情報ですので、面倒でもCSSでレイアウトを組んだほうが無難です。

まとめ

FlexBoxはメジャーなブラウザでは一般的に使われるレイアウトです。段組みには他にもfloatやtableといった古典的な手法から、gridlayoutのような先進的な手法まで対応方法はいくつもあります。ただ、シンプルという点ではFlexBoxがベストです。オプションを更に詳細に設計すれば、もっと高度なこともできますので、2段組/2カラムの設計で迷ったら、FlexBoxにしておくといいと思います。