所以我的导航栏出了问题。我将其宽度设置为100%。但我希望看到结束,因为它有圆角...
所以这样:| (=======)|
现在不喜欢它:| (========== |
#nav {
height: 60px;
font-size: 30px;
line-height: 60px;
vertical-align: middle;
text-align: center;
background-color: #0080FF;
width: 100%;
border: 10px solid #16044E;
border-radius: 20px;
z-index: 1;
}
#nav ul {} #nav li {
display: inline;
text-align: center;
margin: 20px;
}
#nav a {
color: white;
text-decoration: none;
}

<ul id="nav">
<li><a href="">Home</a>
</li>
<li><a href="">Courses</a>
</li>
<li><a href="">Subjects</a>
</li>
<li><a href="">Sign Up</a>
</li>
<li><a href="">Log In</a>
</li>
</ul>
&#13;
答案 0 :(得分:5)
您可以使用calc
从总宽度10px
= 10px
中减少border-width
但是您应该尝试使用box-sizing:border-box
作为calc
的浏览器支持{1}}仅限Caniuse
#nav {
height: 60px;
font-size: 30px;
line-height: 60px;
vertical-align: middle;
text-align: center;
background-color: #0080FF;
width: calc(100%-10px);
border: 10px solid #16044E;
border-radius: 20px;
z-index: 1;
}
#nav ul {
}
#nav li {
display: inline;
text-align: center;
margin: 20px;
}
#nav a {
color: white;
text-decoration: none;
}
<ul id="nav">
<li><a href="">Home</a></li>
<li><a href="">Courses</a></li>
<li><a href="">Subjects</a></li>
<li><a href="">Sign Up</a></li>
<li><a href="">Log In</a></li>
</ul>
答案 1 :(得分:1)
将此添加到您的True
#nav
这也会使你的box-sizing: border-box;
也适用于边境部分。
答案 2 :(得分:1)
如果您需要支持旧版浏览器,可以使用calc()
CSS功能进行回调,此处为current support,您必须将其添加到#nav
:< / p>
#nav{
width: 98%;
calc(100%-10px);
}
另一种方法是更改box-sizing
元素的#nav
,因此边框将是元素宽度的一部分,您可能已经在CSS中更新了一些规则,但它可以在IE8 +中工作,所有移动设备和所有现代浏览器,caniuse:
#nav{
padding-left: 10px;
width: 100%;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
答案 3 :(得分:0)
按如下方式更改#nav
:
更改 width: 100%;
至 width: auto;
您的#nav
应如下所示:
#nav {
height: 60px;
font-size: 30px;
line-height: 60px;
vertical-align: middle;
text-align: center;
background-color: #0080FF;
width: auto;
border: 10px solid #16044E;
border-radius: 20px;
z-index: 1;
}