前提・実現したいこと
画像のようなレイアウトの画面があるとして左の列の左側のボーダーだけ消したい場合は、どのようにCSSを指定するのが適切なのでしょうか?
該当のソースコード
該当部分のHTMLとCSSを記載致します。
※ejsを使用して書いています。
HTML
1 <section class="p-product"> 2 <ul class="p-product__list"> 3 <% for(var i = 0; i < products.length; i++) { %> 4 <li class="p-product__item"> 5 <a href="<%= products[i]['href'] %>" class="p-product__link"> 6 <img src="<%= products[i]['product'] %>"> 7 </a> 8 </li> 9 <% } %> 10 </ul> 11 <a href="#" class="p-product__more"> 12 <p class="p-product__moreText">アイテムをもっと見る</p> 13 <div class="c-arrow"></div> 14 </a> 15 </section>
CSS
1&__item { 2 display: flex; 3 justify-content: center; 4 border-left: 1px solid #cbcbcb; 5 width: 33.3%; 6 padding: 15px 0; 7 } 8 9 &__item:nth-child(n + 4) { 10 border-top: 1px solid #cbcbcb; 11 } 12 13 &__item:nth-child(1), 14 &__item:nth-child(4), 15 &__item:nth-child(7), 16 &__item:nth-child(10), 17 &__item:nth-child(13), 18 &__item:nth-child(16), 19 &__item:nth-child(19) { 20 border-left: none; 21 }
今はnth-childを使い左の列だけの要素を指定してボーダーを消しています。
画面上はこのような指定でも問題はないと思いますが、今後要素が増えた場合その都度CSSの記述も増やさなければいけないという問題が出てきた為、質問させていただきました。
このような場合のCSSの適切な指定方法をご教示いただけると幸いです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/11 03:06