質問内容
display: grid
を用いて正方形のグリッド群を作成したいです。
このとき、親要素の横幅をベースに計算して正方形グリッドを作成するためにはどうしたらよいでしょうか。
なお、グリッド内の要素は後から挿入するため、最初にgrid-template-rows
を使って領域を確保しておきたい。
再現環境
https://codepen.io/anon/pen/RELJvB
親要素が300px600px、この場合は100px100pxのグリッド群にしたい。
コード(再現環境に同じ)
これだと(当たり前だが)縦が600pxをベースに計算するのでダメ。
css
1.parent { 2 width : 300px; 3 height: 600px; 4} 5.container { 6 display: grid; 7 width: 100%; 8 height: 100%; 9 grid-template-columns: repeat(3, calc(100% / 3)); 10 grid-template-rows: repeat(3, calc(100% / 3)); 11}
html
1<div class="parent"> 2 <div class="container"> 3 <div style="background-color: gray">a</div> 4 <div style="background-color: black">a</div> 5 <div style="background-color: gray"></div> 6 <div style="background-color: black"></div> 7 <div style="background-color: gray"></div> 8 <div style="background-color: black"></div> 9 <div style="background-color: gray"></div> 10 <div style="background-color: black"></div> 11 <div style="background-color: gray"></div> 12 </div> 13</div>
試したこと
vw
はビューポート単位になるのでだめ--value
などでCSS変数を使おうとしたが、うまくいかなかった

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/30 01:12 編集
退会済みユーザー
2018/12/30 15:36
2018/12/31 02:17