Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8916

css のレイアウト系のメモ (随時更新)

$
0
0
概要 FlexBox や Grid layout など、実装する際に毎回迷うのでテンプレとして元になるコードを列挙しておく。 中央寄せ <div style="height: 200px; display: flex; align-items: center; justify-content: center;"> <div style="width: 100px; height: 100px">中央寄せ</div> </div> 画面いっぱい <style> .layout-max-screen { box-sizing: border-box; /* これがないと padding 分はみ出てしまう */ border: none; /* border 分ははみ出るので注意 */ height: 100vh; padding: 10px; /* padding 要らないなら不要 */ display: grid; /* これにより子の div も画面いっぱいに広がる */ } </style> <div class="layout-max-screen"> <div>画面いっぱい</div> </div> 画面のレイアウトの一部が可変 レイアウトが完全固定なら Grid 使えばよいが、可変でアニメもする場合は FlexBox で実装する必要あり。 <div> <div style="display: flex; flex-wrap: nowrap; gap: 10px; justify-content: flex-start; align-items: stretch;"> <div style="width: 80px;">a</div> <div style="width: 80px;">b</div> <div style="flex: 1;">c</div> </div> </div> 前述と組み合わせれば、高さ方向で画面MAXになる。 <div class="layout-max-screen"> <div style="display: flex; flex-wrap: nowrap; gap: 10px; justify-content: flex-start; align-items: stretch;"> <div style="width: 80px;">a</div> <div style="width: 80px;">b</div> <div style="flex: 1;">c</div> </div> </div> Grid Layout <div class="layout-max-screen"> <div style=" display: grid; grid-gap: 10px; grid-template-columns: 80px 80px 1fr; grid-template-rows: 40px 1fr; grid-template-areas: 'left center header' 'left center main'; "> <div style="grid-area: left;">left</div> <div style="grid-area: center;">center</div> <div style="grid-area: header;">header</div> <div style="grid-area: main;">main</div> </div> </div> grid-template-areas: 'left center header' 'left center main'; は改行すると認識しなくなるので注意。(Vue3 にて確認。) Vue3 なら、下記のようにするのがよい。 :style="{ gridTemplateAreas: ` 'left center header' 'left center main' ` }"

Viewing all articles
Browse latest Browse all 8916

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>