我一直在为我的网站创建一个新的标题设计,除了一个问题之外,所有问题都已解决。出于某种原因,当我尝试在类nth-child(1)
上使用first-child
或last-child
或navLink
时,它会将规则应用于所有链接,而不是所选元素。我将在下面用jsfiddle发布一些代码来证明我的观点。
HTML
<ul id="nav">
<li class="navItem"><a class="navLink" href="#">Test</a></li>
</ul>
CSS
#nav {
background: RGB(200, 230, 240);
border-bottom: 1px solid RGB(0, 0, 0);
height: 30px;
margin: 0 auto;
position: relative;
width: 980px;
z-index: 5;
}
.navItem {
display: block;
float: left;
position: relative;
}
.navLink:first-child {
border-left: 1px solid RGB(0, 0, 0);
}
.navLink {
border-bottom: 1px solid RGB(0, 0, 0);
border-right: 1px solid RGB(0, 0, 0);
display: inline-block;
height: 30px;
line-height: 30px;
padding: 0 15px;
white-space: nowrap;
}
.navItem:hover .navLink {
background: RGB(120, 200, 250);
color: RGB(255, 255, 255);
}
答案 0 :(得分:3)
您需要将第n个孩子应用于<li>
而不是<a>
,这些孩子始终是<li>
中的第一个,最后一个和第一个孩子。
.navItem:first-child a{
border-left: 1px solid RGB(0, 0, 0);
}
.navItem a{
border-bottom: 1px solid RGB(0, 0, 0);
border-right: 1px solid RGB(0, 0, 0);
display: inline-block;
height: 30px;
line-height: 30px;
padding: 0 15px;
white-space: nowrap;
}
答案 1 :(得分:1)
.navItem:first-child .navLink {
border-left: 1px solid RGB(0, 0, 0);
}
使用它。 您的方法的问题是.navLink:first-child计算相对于.navItems的所有项目的第一个子项。希望你明白这一点。