在this JSFiddle ,最后一个 .tab
类没有得到正确的 border-radius
效果(右上角圆 Angular )。
我认为我的逻辑是正确的,在这种情况下,:last-child
选择 .tabbed
的最后一个 .tab
。
我做错了什么?
CSS:
body {
background: black;
color: white;
padding: 5px; }
.tabbed {
height: 550px;
}
.tabbed .tab {
padding: 6px 14px;
background: rgba(255,255,255,0.25);
border: 1px solid rgba(255,255,255,0.4);
border-radius: 0px;
border-left-width: 0;
float: left;
}
.tabbed .tab:first-child {
border-radius: 3px 0 0 0;
border-left-width: 1px;
}
.tabbed .tab:last-child {
border-radius: 0 3px 0 0;
}
HTML:
<ul class='tabbed'>
<li class='tab'>Menu 1</li>
<li class='tab'>Menu 2</li>
<li class='tab'>Menu 3</li>
<li class='tab'>Menu 4</li>
<li class='tab'>Menu 5</li>
<li> <br/><br/> </li>
<li class='dummy'>Content 1</li>
<li class='dummy'>Content 2</li>
<li class='dummy'>Content 3</li>
<li class='dummy'>Content 4</li>
<li class='dummy'>Content 5</li>
</ul>
最佳答案
根据这个documentation :
The :first-child pseudo class means "if this element is the first child of its parent". :last-child means "if this element is the last child of its parent". Note that only element nodes (HTML tags) count, these pseudo-classes ignore text nodes.
另请参阅 W3C doc
它不适用于您的情况,因为最后一个 .tab
不是父 ul 的最后一个 child 。
如果您创建两个列表,则会按预期应用 css。
关于css - :last-child pseudo class confusion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8693357/