2014-06-05 170 views
0

我已经开始制作导航栏,使用导航标签,它完美地工作。使用CSS,我将导航标记的宽度设置为100%,并将边框和填充设置为0.导航栏不会完全填满屏幕宽度

我似乎在导航栏的每一侧都有几个像素未填充。我希望整个宽度都被导航栏覆盖,但我无法使其工作。这里是我的html:

<nav> 
    <ul> 
     <li><a href="home.html">Home</a></li> 
     <li> 
      <a href="test1.html">Test1 <span class="carrot"></span></a> 
      <div> 
       <ul> 
        <li><a href="test#testA">TestA</a></li> 
        <li><a href="test.html#B">TestB</a></li> 
        <li><a href="teset.C">TestC</a></li> 
       </ul> 
      </div> 
     </li> 
     <li><a href="test2.html">Test2</a></li> 
     <li><a href="test3.html">Test3</a></li> 
    </ul> 
</nav> 

的CSS:

nav { 
    background-color: #fff; 
    border: 1px solid #dedede; 
    border-radius: 4px; 
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055); 
    color: #888; 
    display: block; 
    margin: 8px 22px 8px 22px; 
    overflow: hidden; 
    width: 100%; 
    margin: 0; 
    padding: 0; 
} 

我能做些什么来解决这个问题?

http://i.stack.imgur.com/syLDV.png

+0

'nav {margin:0; padding:0;}' 'body {margin:0;填充:0; }' – user20232359723568423357842364

+0

现在,我的网站顶部有一个1px的空白边距。是否由于导航栏内的元素可能? – user2082169

+0

我是个白痴,那是Google Chrome。 – user2082169

回答

5

设定的主体保证金0

CSS

body{ 
margin: 0px; 
} 
+0

谢谢。我非常忙于看导航风格,所以我完全忽视了这个显而易见的事实。 – user2082169

1
nav { 
    background-color: #fff; 
    border: 1px solid #dedede; 
    border-radius: 4px; 
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055); 
    color: #888; 
    display: block; 
    /* margin: 8px 22px 8px 22px; */ 
    /* overflow: hidden; */ 
    /* width: 100%; */ 
    margin: 0; 
    padding: 0; 

    /* notice below: */ 
    position: fixed; 
    left: 0; 
    right: 0; 
} 
2

默认情况下所有的HTML文档都围绕它的所有四个角落的余量。在大多数情况下,页边距是理想的,有时候与设计有关,比如水平横跨整个页面的标题栏。在这种情况下,你必须明确地将0赋给body的边界。

body{ 
margin: 0px; 
} 

通过@Luis P.A

1

开始给出了答案的解释有以下CSS规则的所有项目:

*{ 
border: 0; 
padding: 0; 
margin: 0; 
} 

所有浏览器都有一些默认的CSS规则。有了这个CSS规则我会重置浏览器默认的CSS ...

+0

不要这样做。使用标准化或CSS重置样式表。 –

0

你的CSS样式表的文档始终使用该第一行:

 * { 
    box-sizing: border-box; 
    } 
    body, html { 
    margin: 0 auto; 
    padding: 0; 
    }