我想簡單地添加一個border-bottom
到最後.slab
如何使用:last-child選擇器?
我試了幾件事,我無法理解發生了什麼。
案例1 - 使用.wrapper:last-child
如果我試試這codepen.io或#2段,我沒有得到去年.slab
一個border-bottom
如果我試試這JSFiddle或運行代碼分別在Chrome中,我得到border-bottom
最後.slab
。但是,如果我取消註釋<div class="something">New</div>
,則最後.slab
上的border-bottom
在JSFiddle和Chrome上都會消失。
.wrapper {
width: 10em;
margin: 1em;
}
.wrapper:last-child {
border-bottom: 1px solid #999;
}
.slab {
background-color: #eee;
border-top: 1px solid #999;
padding: 1em;
}
<div class="wrapper">
<div class="slab">Hello</div>
<div class="slab">Hello</div>
<div class="slab">Hello</div>
</div>
<!--<div class="something">New</div>-->
案例2 - 使用.slab:last-child
原來這個作品無處不在 - 的jsfiddle,鉻,codepen.io和#2。但我認爲選擇是真正的最後孩子的.slab
而不是最後.slab
.wrapper {
width: 10em;
margin: 1em;
}
.slab {
background-color: #eee;
border-top: 1px solid #999;
padding: 1em;
}
.slab:last-child {
border-bottom: 1px solid #999;
}
<div class="wrapper">
<div class="slab">Hello</div>
<div class="slab">Hello</div>
<div class="slab">Hello</div>
</div>
問題:
- 是否
.slab:last-child
意味着最後一個孩子.slab
或最後一次出現.slab
? - case 1,爲什麼
border-bottom
在引入無關元素.something
後消失? - 將
border-bottom
應用到最後.slab
的最佳方式是什麼?
可能「名稱」有點令人困惑,但這個'.slab:last-child'並不是指'.slab'子元素。它說'得到.slab .slab是其父'的最後一個孩子。 –
相關 - http://stackoverflow.com/questions/2717480/css-selector-for-first-element-with-class?rq=1 –