display: grid;でアイテムの配置を調整する
display: grid;
を使って要素の配置を簡単に調整するのを試してみた。
左右の中央揃えなら、margin: 0 auto;
とかでもいいけど、縦を中央の揃えるのが手軽にできるのがいい。
See the Pen display: gridを使って縦横中央揃えをする by Makoto Ohnami (@zohnami) on CodePen.
こんな感じで配置元の要素にdisplay: grid;
を設定して、place-content: center;
を指定するとそれだけで上下中央揃えはできてしまう。
上記のサンプルではcontainer
クラスが設定されている要素に追加で設定する。
.center {
display: grid;
place-content: center;
}
縦位置を下に寄せたいときはalign-content: end
を設定すればOK
.bottom-center {
display: grid;
place-content: center;
align-content: end;
}
ちなみにdiv要素とかで囲めないタグの中で縦配置をしたいときは以下のようにheight
とline-height
の値を同じにすればできる。
ラベルみたいな小さい要素なんかはこのパターンを使った方が配置のために無駄なタグを追加することなく済むので良さそう。
.item {
width: 80px;
height: 80px;
line-height: 80px;
background-color: #e198b4;
vertical-align: middle;
text-align: center;
}
この記事の環境情報
- HTML,CSS
- CodePenはsaveこまめにセーブする
htmlに関する他の記事を読む
- [JavaScript]親要素の表示領域でクリックしているかを判定する方法
- 続・cssの一箇所を変更してテーマ全体を入れ替える
- cssの一箇所を変更してテーマ全体を入れ替えるサンプル
- [CSS]背景色を点滅させるアニメーションサンプル
- クリックしたときにCSSで線を引くサンプル
cssに関する他の記事を読む
- [JavaScript]親要素の表示領域でクリックしているかを判定する方法
- nth-childの疑似要素で3番目以降にスタイルを全適用する
- 続・cssの一箇所を変更してテーマ全体を入れ替える
- cssの一箇所を変更してテーマ全体を入れ替えるサンプル
- [CSS]背景色を点滅させるアニメーションサンプル
最近の記事を読む
- Flutterでcontextを使わずにlocale情報を取得する
- Cloud RunでIAPを有効にしようとしてハマったこと
- slimでtype='application/ld+json'のscriptタグを書く
- タグマネージャーでjsのloadイベントを発火させたいとき
- mysqlコマンドを実行してERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)と言われたら