Home > Html & Css > display:grid;で使いそうなのをサクッとまとめてみた

display:grid;で使いそうなのをサクッとまとめてみた

公開日:

最終更新日:

この前display:flex;が出てきたばっかりなのに、世の中はdisplay:grid;が熱いらしいです。

ってことで、こうゆう感じで使うかなって感じでまとめてみました

とりあえずベースの設定

画像のように線で区分けすることによってグリッドを作っていきます。

大きさはピクセルでもできますが、frという%分けみたいのが使えます。

display:gridの線

下記設定でこんな感じ

a
b
c
d
e
f
g
h
i

Html

css

セルの結合

grid-columnとgrid-rowってので、セルをひっつけたりできます
grid-column:1/3;
と書けば1番目の線から3番目の線までをってことです。
ちなみに
grid-column-start:1;
grid-column-end:3;
と分けて書く事もできます。

下記設定でこんな感じ

a
b
c
d
e
f
g
h

html

css

IE用の設定

IEは使えないので別にIE用に書いてやる必要があります。

display: grid;
はこれの前に
display: -ms-grid;
です。
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
はこれの前に
-ms-grid-columns: 1fr 10px 1fr 10px 1fr;
です。
grid-gapが使えないので、線の数が爆発的に増えます。。
grid-column: 1 / 3;
はこれの前に
-ms-grid-column: 1;
-ms-grid-column-span: 2;
です。
セルが1つしか指定できないので、-ms-grid-column-spanでセルの数を指定してやる必要があります。めんどくさいです。

IE用のdisplay:gridの線

さっきのcssだとこんな感じになります。

その他

grid-template-columns: [a] 1fr [b] 1fr [c] 1fr;って感じでセルの大きさの前に[]で線に名前をつけれます。
今の所つかいどころはいまいちわかりません。。

grid-auto-flow: column;とかで自動で横並びとか縦並びとかを指定できます。display:flex;でいい気がします。。

IEなかったら全部のセルの位置を書かなくても大丈夫みたいです。
なのでIEいらないんだったら、div.aのとこだけ場所と大きさ指定してやればいけるみたいです。


Comment

よろしければコメントをどうぞ