CSSでお手軽に2カラム/2段組レイアウトを作りたいときはFlexboxがおすすめです。手順は簡単、コピペで使えるサンプルコードも公開中です。レスポンシブ対応済、幅や高さの調整もOK!深く悩まずに導入できます。
- 幅・高さ調整可
- レスポンシブ対応済
- カラム→カラムへの文字連携は考えない(連携させたい場合は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にしておくといいと思います。
- FlexBox: FlexBox Grid
- Webクリエイターボックスさん: 日本語対応!CSS Flexboxのチートシートを作ったので配布します