Css 边框使div重叠超过100%1或2倍

Css 边框使div重叠超过100%1或2倍,css,Css,我已将导航栏设置为100%。酒吧也有一个1px的边框。由于某些原因,边框会导致导航栏向右突出1或2个像素。我在Firebug中尝试将边界设置为0,果然,它排列正确。我们的网站位于: 如您所见,顶部的蓝色导航条伸出左侧。我可以移除右边的:0,然后它伸出到右边。如何防止边界导致导航条突出 更新:根据要求,以下是我的导航CSS: nav { position: absolute; right: 0; top: 70px; margin-top: 5px; font-size: 1.3em; font

我已将导航栏设置为100%。酒吧也有一个1px的边框。由于某些原因,边框会导致导航栏向右突出1或2个像素。我在Firebug中尝试将边界设置为0,果然,它排列正确。我们的网站位于:

如您所见,顶部的蓝色导航条伸出左侧。我可以移除右边的:0,然后它伸出到右边。如何防止边界导致导航条突出

更新:根据要求,以下是我的导航CSS:

nav 
{
position: absolute;
right: 0;
top: 70px;
margin-top: 5px;
font-size: 1.3em;
font-weight: 600;
list-style: none;
width: 100%;
margin: 5px auto;
height: 43px;
padding: 0;
z-index: 10;

/* Background color and gradients */
background: #014464;
background: -moz-linear-gradient(top, #0272a7, #013953);    
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#0272a7), to(#013953));
background: -ms-linear-gradient(top, #0272a7, #013953);  
background: -moz-linear-gradient(top, #3C78B9, #28507B);    
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#3C78B9), to(#28507B));
background: -ms-linear-gradient(top, #3C78B9, #28507B);  

/* Borders */
border: 1px solid #002232;

box-shadow:inset 0px 0px 1px #edf9ff;
}
说明:

默认情况下,边界是在元素上指定的带的外部计算的,这就是为什么给元素一个边界时它会溢出

解决方案:

使用框大小:边框框;这样边界宽度在100%范围内计算,不会溢出

框大小:边框框;IE8+支持添加框大小:将边框框添加到导航中


有关长方体大小的详细信息,请参阅此

,这是因为元素的计算宽度超过其父元素内的可用空间

元素(绝对定位的元素除外)将占用其父元素的可用宽度

但是,在使用绝对定位将元素从正常流中移除的特定实例中,您可以指定元素的宽度(向左拉伸元素):0;右:0;应该在大规模web浏览器上工作的声明

或者,您可以使用声明让UAs计算框的宽度/高度,包括边框和填充


值得注意的是,IE8及以上版本支持第二种方法。

请注意,使用left:0;右:0;你不应该再添加宽度:100%。有人能告诉我反对票和结束问题的投票吗?问题是,即使你链接到你的网站,你需要用最少的代码重现你的问题,并在这里发布代码,主要有两个原因:1用简短的代码回答问题要容易得多2当你的网站离线时会发生什么。。。这个问题对其他用户没有任何用处。请参阅此处了解更多信息:这很有意义,谢谢您的提示
nav {
box-sizing: border-box;--> ADDED
position: absolute;
right: 0;
top: 70px;
margin-top: 5px;
font-size: 1.3em;
font-weight: 600;
list-style: none;
box-sizing: border-box;
width: 100%;
margin: 5px auto;
height: 43px;
padding: 0;
z-index: 10;
background: #014464;
background: -moz-linear-gradient(top, #0272a7, #013953);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#0272a7), to(#013953));
background: -ms-linear-gradient(top, #0272a7, #013953);
background: -moz-linear-gradient(top, #3C78B9, #28507B);
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#3C78B9), to(#28507B));
background: -ms-linear-gradient(top, #3C78B9, #28507B);
border: 1px solid #002232;
box-shadow: inset 0px 0px 1px #edf9ff;
}