【column】すぐに使えるレイアウト。”column”で簡単マルチカラムレイアウト。
こんにちは。
WEBデザイナー兼プロ格闘家のショウイチです。
今日は、高さの異なるボックスを隙間なく詰めるレイアウトを簡単に実装できCSSを紹介します。
前回の記事でCSS Gridの紹介をしました。
前回紹介したCSS Gridはとても自由性が高く、素晴らしいプロパティですが、初めて使用する方からすると、少し難しいと思います。
今回紹介するCSS、columnはCSS Gridよりも簡単です。
column
それでは、早速columnについて説明していきます。
columnはマルチカラムレイアウトを作るときに非常に便利なCSSです。
マルチカラムレイアウトというのはこんな感じのレイアウトのことです。
texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext
通常このレイアウトを作るときdivなどにgridやflex、floatなどを使いますが、その場合、ボックスを2つ用意しないといけません。
しかしcolumnの場合は1つののボックスを用意すれば複数の行を作ることができます。
サンプルコードはこちら↓
column以外のCSSはボックスが2つあるのがわかりますね。
floatに関しては高さの指定もしないといけません。
その点columnはシンプルですね。
プロパティ
次にcolumn-〇〇プロパティについて説明していきます。
column-count
column-countは行の数を指定します。
例えば、column-count: 2;だと2分割、column-count: 3;だと3分割してくれます。
このように任意の数の行が簡単に作れます。
テキストが長文で見にくくなってしまったときは、column-countで文章を見やすく分割してみましょう。
column-width
column-widthは1つの行の幅を指定します。
column-countとcolumn-widthを組み合わせ行の幅の合計が親要素より大きくなってしまう場合は、指定した数のcolumn-countは適用されません。
このようにwidth: 400px;に指定したほうは4行になっていません。
columns
columnsは先ほど上で説明した、column-countとcolumn-widthとをまとめて指定することができるショートハンドです。
例えば、columns: 3 200px;はcolumn-count: 3;column-width: 300px;ということになります。
このようにCSSをすっき整理できますね。
column-gap
column-gapは行と行の余白の部分の指定をします。
初期値としてnormalの値が付いています。
このように任意の余白をしていできます。
column-rule
column-rule-style区切り線のスタイル、
column-rule-width区切り線の太さ、
column-rule-color区切り線の色をそれぞれ指定します。
column-ruleは上の3つをまとめて指定することができるショートハンドです。
borderのショートハンドと同じ書き方ですね。
サンプルコードの青の区切りのほうは少し右に寄っていますがこれはtext-align: justify;を追加すると中央になります。
column-span
column-spanは行と行の中で複数の行をまたぐ指定をします。
タイトルなどを行をまたいで表示したい場合はcolumn-span: all;で指定ができます。
レイアウト
それでは実際に使用レイアウトを作ってみます。
上のサンプルコードで使用している.avoidにかけている、page-break-inside: avoid;とbreak-inside: avoid;は途中で段落移動しないようにする指定です。
文章がおかしなところで段落移動してしまうときなどに使います。
レスポンシブ対応させるには@media screen andでcolumn-countの指定を変えてください。
このようにcolumnはマルチカラムレイアウト作成時非常に便利です。ぜひ使用してみてください。
今日からあなたもレイアウトマスター!
それでは本日はここまで、また次回!
NEW POST
-
HEX, CMYK, RGB 変換出力
-
403エラー|海外からWordPressのアクセスできない時の対処(ロリポップ)
-
スクショでHP全体を撮る方法(Mac)