[英]Change the background-color of alternate elements css
我想改變替代元素的顏色,但我的代碼不起作用。 我的代碼更改了整個容器元素的顏色。
任何人都可以告訴我在代碼中哪里出錯?
.pvt-msg-panel { height: 92vh; float: left; margin-top: -20px; } #pvt-messages-box { height: 50vh; width: 650px; margin-top: 10px; margin-left: 10px; overflow-y: scroll; } .pvt-messages-box-item { padding: 10px; padding-left: 20px; position: relative; display: inline-block; width: 100%; color: black; padding-left: 20px; font-size: 12px; cursor: pointer; } .pvt-messages-box-item:nth-child(odd) { background-color: green; } .pvt-messages-box-item:nth-child(even) { background-color: white; }
<div class="pvt-msg-panel"> <section id="pvt-messages-box"> <span class="pvt-messages-box-item"><span><img src="images/avatar2.png"></span>message 1</span> <br> <span class="pvt-messages-box-item"><span><img src="images/avatar2.png"></span>message 2</span> <br> <span class="pvt-messages-box-item"><span><img src="images/avatar2.png"></span>message 3</span> <br> </section> </div>
使用first-child
選擇器時, br
標簽將嘗試選擇even
選擇器。 嘗試使用nth-of-type
選擇器,然后你去:
.pvt-msg-panel{ height: 92vh; float: left; margin-top: -20px; } #pvt-messages-box{ height: 50vh; width: 650px; margin-top: 10px; margin-left: 10px; overflow-y: scroll; } .pvt-messages-box-item{ padding:10px; padding-left: 20px; position: relative; display: inline-block; width: 100%; color: black; padding-left: 20px; font-size: 12px; cursor: pointer; } .pvt-messages-box-item:nth-of-type(odd){ background-color: green; } .pvt-messages-box-item:nth-of-type(even){ background-color: white; }
<div class="pvt-msg-panel"> <section id="pvt-messages-box"> <span class="pvt-messages-box-item"><span><img src="images/avatar2.png"></span>message 1</span><br> <span class="pvt-messages-box-item"><span><img src="images/avatar2.png"></span>message 2</span><br> <span class="pvt-messages-box-item"><span><img src="images/avatar2.png"></span>message 3</span><br> </section> </div>
在這里你有jsfiddle 。 使用nth-of-type(odd)
表示span
.pvt-messages-box-item:nth-of-type(odd){
background-color: green;
}
.pvt-messages-box-item:nth-of-type(even){
background-color: white;
}
:如果元素是其父元素的指定子元素,則第n個子元素匹配。 該
div中的元素導致選擇器的奇數和偶數部分失敗,因為它使兩個跨越其父級的奇數子(第1和第3)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.