このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
column-gap
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
column-gap はCSS のプロパティで、要素の段または列の間のすき間(溝)の寸法を設定します。
当初は段組みレイアウトの一部でしたが、column-gap の定義は複数のレイアウト方式を含めるように拡張されました。現在はボックス配置の中で定義され、段組みレイアウト、フレックスボックス、グリッドレイアウトで使用されることがあります。
仕様書の初期バージョンでは、このプロパティはgrid-column-gap と呼ばれていました。古いウェブサイトとの互換性を維持するため、ブラウザーはgrid-column-gap をcolumn-gap の別名として受け入れます。
In this article
試してみましょう
column-gap: 0;column-gap: 10%;column-gap: 1em;column-gap: 20px;<section> <div> <div> <div>One</div> <div>Two</div> <div>Three</div> <div>Four</div> <div>Five</div> </div> </div></section>#example-element { border: 1px solid #c5c5c5; display: grid; grid-template-columns: 1fr 1fr; width: 200px;}#example-element > div { background-color: rgba(0, 0, 255, 0.2); border: 3px solid blue;}構文
/* キーワード値 */column-gap: normal;/* <length> 値 */column-gap: 3px;column-gap: 2.5em;/* <percentage> 値 */column-gap: 3%;/* グローバル値 */column-gap: inherit;column-gap: initial;column-gap: revert;column-gap: revert-layer;column-gap: unset;column-gap プロパティは以下に挙げた値の一つで指定します。
値
normal列間(段間)にはブラウザー既定の幅が使われます。段組みレイアウトでは
1emと指定され、他の種類のレイアウトでは 0 になります。<length><percentage>列間(段間)の寸法を
<percentage>として定義します。<percentage>のプロパティ値は負の数であってはいけません。
公式定義
形式文法
column-gap =
normal|
<length-percentage [0,∞]>
<length-percentage> =
<length>|
<percentage>
例
>フレックスレイアウト
この例では、フレックスコンテナーに 2 つの異なる幅(200px と300px)の 6 つのフレックスアイテムを設置し、グリッドとしてレイアウトされていないフレックスアイテムを作成しています。column-gap プロパティは、隣接するフレックスアイテムの間に水平空間を追加するために使用します。
HTML
<div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div></div>CSS
フレックスコンテナーを作成するには、display プロパティの値をflex に設定します。そして、一括指定のflex-flow プロパティを使って、flex-direction を row(既定値)に、flex-wrap をwrap に設定し、必要に応じてフレックスアイテムが新しい行に流れるようにします。既定では、フレックスアイテムはコンテナーと同じ高さに引き伸ばされます。height を設定することで、空のフレックスアイテムでも100px の高さになります。
column-gap プロパティをより分かりやすく示すために、この例のフレックスアイテムには 2 つの異なる幅の値を設定しています。フレックスアイテムの幅は<div> のフレックスアイテム内で設定します。flex 一括指定プロパティのflex-basis 成分を使用して、すべてのフレックスアイテムの幅を200px にしています。次に、:nth-of-type(3n) セレクターを使用して 3 つ目のフレックスアイテムを対象とし、幅を300px に広げます。
フレックスコンテナーのcolumn-gap の値に20px を設定し、各行で隣接するフレックスアイテムの間に20px のギャップを作成します。
.flexbox { display: flex; flex-flow: row wrap; height: 100px; column-gap: 20px;}.flexbox > div { border: 1px solid green; background-color: lime; flex: 200px;}div:nth-of-type(3n) { flex: 300px;}結果
グリッドレイアウト
HTML
<div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div></div>CSS
#grid { display: grid; height: 100px; grid-template-columns: repeat(3, 1fr); grid-template-rows: 100px; column-gap: 20px;}#grid > div { border: 1px solid green; background-color: lime;}結果
段組みレイアウト
HTML
<p> これは、CSS の `column-gap` プロパティを使用して、列のギャップを 40px に設定して作成した、段組みテキストです。面白くて期待が膨らみますね。私はそう思います!</p>CSS
.content-box { column-count: 3; column-gap: 40px;}結果
仕様書
| Specification |
|---|
| CSS Box Alignment Module Level 3> # column-row-gap> |
| CSS Grid Layout Module Level 2> # gutters> |
| CSS Multi-column Layout Module Level 1> # column-gap> |