使用 first-child 对 ul 进行样式化
Styling ul with first-child
我确定这应该不难解决,但我无法让 ul 的样式正常工作(尝试不同的东西,它要么对一个有效,要么对 none 完全无效)我正要撕掉我的头发。我错过了什么?
https://jsfiddle.net/5cuuq8rq/
HTML:
<ul class="nav">
<li><a href="?page=home">Home</a></li>
<li><a href="?page=couriers">Couriers</a></li>
<li><a href="?page=reviews">Reviews</a></li>
<li><a href="?page=retailers">Retailers</a></li>
<li><a href="?page=about">About</a></li>
</ul>
CSS:
.nav{
font-size:18px;
font-weight: bold;
list-style:none;
margin:0;
padding:0;
text-align:center;
}
.nav li{
display:inline;
}
.nav a{
width: 144px;
background: -webkit-linear-gradient(rgb(256,256,256), rgb(175,175,175));
background: -moz-linear-gradient(rgb(256,256,256), rgb(175,175,175));
background: linear-gradient(rgb(256,256,256), rgb(175,175,175));
text-decoration:none;
display:inline-block;
padding:10px;
}
.nav li > a:first-child {
border-radius: 20px 0px 0px 0px;
}
而不是这个
.nav li > a:first-child {
border-radius: 20px 0px 0px 0px;
}
使用它
.nav li:first-child > a {
border-radius: 20px 0px 0px 0px;
}
问题是您 select 第一个 a 元素总是为真,因为只有一个 a 元素在每个 li 元素中。相反,您应该 select 第一个 li 元素,然后定位嵌套在该 li[=] 中的 a 元素22=]。例如,您的 CSS 应如下所示:
.nav li:first-child > a {
border-radius: 20px 0px 0px 0px;
}
查看更新后的 fiddle:https://jsfiddle.net/5cuuq8rq/1/
如果你使用nth-child(一些数字)
你可以通过给它一个数字来指定你想要的风格,1 代表第一个等等:)祝你好运。
.nav li:nth-child(1) > a {
border-radius: 20px 0 0 0;
}
我确定这应该不难解决,但我无法让 ul 的样式正常工作(尝试不同的东西,它要么对一个有效,要么对 none 完全无效)我正要撕掉我的头发。我错过了什么?
https://jsfiddle.net/5cuuq8rq/
HTML:
<ul class="nav">
<li><a href="?page=home">Home</a></li>
<li><a href="?page=couriers">Couriers</a></li>
<li><a href="?page=reviews">Reviews</a></li>
<li><a href="?page=retailers">Retailers</a></li>
<li><a href="?page=about">About</a></li>
</ul>
CSS:
.nav{
font-size:18px;
font-weight: bold;
list-style:none;
margin:0;
padding:0;
text-align:center;
}
.nav li{
display:inline;
}
.nav a{
width: 144px;
background: -webkit-linear-gradient(rgb(256,256,256), rgb(175,175,175));
background: -moz-linear-gradient(rgb(256,256,256), rgb(175,175,175));
background: linear-gradient(rgb(256,256,256), rgb(175,175,175));
text-decoration:none;
display:inline-block;
padding:10px;
}
.nav li > a:first-child {
border-radius: 20px 0px 0px 0px;
}
而不是这个
.nav li > a:first-child {
border-radius: 20px 0px 0px 0px;
}
使用它
.nav li:first-child > a {
border-radius: 20px 0px 0px 0px;
}
问题是您 select 第一个 a 元素总是为真,因为只有一个 a 元素在每个 li 元素中。相反,您应该 select 第一个 li 元素,然后定位嵌套在该 li[=] 中的 a 元素22=]。例如,您的 CSS 应如下所示:
.nav li:first-child > a {
border-radius: 20px 0px 0px 0px;
}
查看更新后的 fiddle:https://jsfiddle.net/5cuuq8rq/1/
如果你使用nth-child(一些数字) 你可以通过给它一个数字来指定你想要的风格,1 代表第一个等等:)祝你好运。
.nav li:nth-child(1) > a {
border-radius: 20px 0 0 0;
}