サーチ…
前書き
グリッドレイアウトは、Webページのコンテンツを簡単に行と列に分割することを可能にする、新しい強力なCSSレイアウトシステムです。
備考
CSSグリッドレイアウトモジュールレベル1は、2016年9月9日現在、W3Cの候補者推薦です。テスト段階( https://www.w3.org/Style/CSS/current-work)にあるとみなされます。
2017年7月3日現在、MicrosoftのInternet Explorer 10および11およびEdgeブラウザは、ベンダーのプレフィックスを使用して旧バージョンの仕様のみをサポートしています。
基本的な例
プロパティ | 可能な値 |
---|---|
表示 | グリッド/インライングリッド |
CSSグリッドは表示プロパティとして定義されています。これは、親要素とその直下の子にのみ適用されます。
次のマークアップを考えてみましょう。
<section class="container">
<div class="item1">item1</div>
<div class="item2">item2</div>
<div class="item3">item3</div>
<div class="item4">item4</div>
</section>
上記のマークアップ構造をグリッドとして定義する最も簡単な方法は、単にdisplay
プロパティをgrid
設定することgrid
。
.container {
display: grid;
}
しかし、これを行うと、必ずすべての子要素が互いに重なり合うようになります。これは、子供たちが現在どのように自分自身をグリッド内に配置するかを知らないためです。しかし、明示的に言えます。
最初に、グリッド要素の.container
構造体を構成する行と列の数を伝える必要があります。グリッドgrid-columns
とgrid-rows
プロパティを使用してこれを行うことができます(複数形に注意してください)。
.container {
display: grid;
grid-columns: 50px 50px 50px;
grid-rows: 50px 50px;
}
しかし、各子要素に順序を与える必要があるので、それはまだ私たちを助けません。これを行うには、 grid-row
に置かれている場所を示すgrid-row
とgrid-column
値を指定します。
.container .item1 {
grid-column: 1;
grid-row: 1;
}
.container .item2 {
grid-column: 2;
grid-row: 1;
}
.container .item3 {
grid-column: 1;
grid-row: 2;
}
.container .item4 {
grid-column: 2;
grid-row: 2;
}
各項目に列と行の値を与えることによって、コンテナ内の項目の順序を識別します。
JSFiddleの実例を見てください 。あなたはそれを動作させるために、これらは、現在(ベンダープレフィックスを持つグリッドレイアウトサポートする唯一のブラウザであるようIE10、IE11またはエッジでこれを確認する必要があります-ms-
によるとクローム、オペラとFirefoxで)またはフラグを有効caniuseために、それらと一緒にテストする。