こんにちは、愛と有機だけが友達のアソパソマソです。
こう見えて新卒エソジニアです。よろしくお願いします。
#はじめに
この記事はLIFULL Advent Calendar 2017 その2、22日目の記事です。
最近プライベートでCSSを触ることがあり、Grid Layoutを利用したのが始まりでした。
Grid Layoutとは
僕がGrid Layoutを学習するときに参考になった記事です。
CSS Grid Layout
基本的な使い方はここに載っております。
CSS Grid Layout を極める!(基礎編)
こちらでは用語の説明、使い方などが詳しく説明されております。
#プロパティの紹介
基本的にプロパティは
- grid-row
- grid-column
- grid-gap
- grid-template
この4つの関係性を覚えておけばある程度のことはできます。
grid-template-rows,grid-template-columns...トラックの大きさを指定する。
grid-row,grid-column...トラック内のアイテムのサイズを指定する。
grid-gap...セル同士の空白を指定する。
##grid-template-rows,grid-template-columns
トラックの縦横のサイズを決めるプロパティです。
grid-template-rows: 50px 50px 50px;
grid-template-columns: 50px 50px 50px;
この指定だと50px間隔で縦横のラインが3本ずつ定義されます。
このラインに従ってアイテムを配置することができます。
##grid-area
grid-row,grid-columnを合わせたものです。
上下左右の境界はこのプロパティ1つで決めることができます。
/*
grid-area: row-start / col-start / row-end / col-end;
*/
grid-area: 1 / 2 / 3 / 4;
細分化すると
grid-column: 2 / 4;
grid-row: 1 / 3;
grid-column-start: 2;
grid-column-end: 4;
grid-row-start: 1;
grid-row-end: 3;
のようにわけることもできます。
![スクリーンショット 2017-12-22 15.29.06.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F215359%2F3dda3048-35da-4d94-8f7a-b99fc6ffabe6.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=94d8a36a78af97332beae24348ca5b51)
デモ:https://codepen.io/Ltakemoxu/pen/GyjOKj
grid-gap
アイテム間の行列の余白を決めることができます。
/*
grid-gap:grid-row-gap grid-column-gap;
*/
grid-gap:10px 20px;
![スクリーンショット 2017-12-22 15.39.10.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F215359%2Fa54fc33a-03d1-6be0-5b50-9098fd6e2a7e.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2bf3a56a498dbde7f1a2bb8ae5bb4871)
最後に
この短い記事に付き合ってくださりありがとうございます。
感謝の気持ちを込めまして、僕から早めのクリスマスプレゼントです。
デモ:https://codepen.io/Ltakemoxu/pen/jYMLZE
(grid-areaは本来このような用途ではないので良い子は真似しないでね。)
またどこかでお会いしましょう。