発生している問題
CSSのflex boxで正方形の可変ブロックを配置するようにしたところ(画像とコード参照)、中の要素のpが縦に表示されるようになってしまいました。
どうも孫要素のdivのwidthあたりでおかしくなってしまっているようなのですが、直し方が分かりません。
通常のpのように横表示で、できれば正方形の中央に表示できればと思います。
どなたかご教授ください。
該当のソースコード
HTML
1<div class="productList"> 2 <?php for ($i = 0; $i < 9; $i++) : ?> 3 <div class="product"> 4 <div> 5 <p>ここに商品</p> 6 </div> 7 </div> 8 <?php endfor; ?> 9</div>
css
1.productList { 2 display: flex; 3 flex-wrap: wrap; 4} 5 6.product { 7 flex: 0 0 calc((100% - 20px)/3); 8 9 margin-right: 10px; 10 margin-bottom: 10px; 11 background-color: #C0C0C0; 12} 13 14.product :before { 15 display: block; 16 content: ''; 17 padding-top: 100%; 18} 19 20.product:nth-child(3n) { 21 margin-right: 0; 22} 23 24.product div { 25 width: 0; 26 height: 0; 27 padding-bottom: calc(100% - 20px); 28} 29
試したこと
chromeの検証モードでdivのwidthを無効にしたところ、表示が変化したのでここが原因か?と思いました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/02 14:42