网页有顶部填充 - 无法摆脱它

时间:2011-08-28 01:19:59

标签: html css html5

我疯狂地试图摆脱网页顶部的这个小填充。它出现在所有浏览器中。  这是图片pic

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset=UTF-8" />
<link href="mainpage.css" rel="stylesheet" type="text/css" />
<title>Mobile Development</title>
</head>

<body>
<div id="topnavcontainer">
<ul id="navlist">
    <li id="active"><a href="#" id="current">Services</a></li>
    <li><a href="#">Mobile</a></li>
    <li><a href="#">Cloud</a></li>
    <li><a href="#">Development</a></li>
    <li><a href="#">Our Work</a></li>
    <li><a href="#">Contact</a></li>
</ul>
</div>  
<div id="bodycontainer">
</div>
</body>
</html>

CSS文件mainpage.css

@charset "UTF-8";
/* CSS Document */
html, body {
margin: 0;
padding: 0;
}
body
{
background: #000000;
font-family: Georgia, Serif;
white-space:nowrap;
}

#topnavcontainer
{
height:5em;
background-color:#0f0f0f;
background-image: url(Images/crosshatch.png);
}

#navlist li
{
display: inline-block;
list-style-type: none;
padding-right: 20px;    
}

#navlist a:link, a:visited, a:hover, a:active
{
color:white;
list-style:none;
text-decoration:none;

}

5 个答案:

答案 0 :(得分:4)

组:

* {
margin: 0;
}

html {
margin: 0;
}

body {
margin: 0;
}

答案 1 :(得分:2)

ul {
    margin-top: 0;
}

此外,您的<meta>代码还包含语法。

答案 2 :(得分:1)

导航栏中链接的ulli具有需要删除的上边距。

ul, li {
    margin-top:0;
}

答案 3 :(得分:1)

每个浏览器都有自己的HTML标记的默认CSS规则。您应该使用CSS重置(例如:http://meyerweb.com/eric/tools/css/reset/)来删除浏览器CSS设置的属性(在您的页面中,ul元素具有为其定义一些边距的默认CSS属性)。像:

这样的规则
ul {margin: 0; padding: 0}

应删除ul元素的默认格式。

答案 4 :(得分:0)

正如其他人提到的那样,你没有正确地重置你的css样式,所以菜单ul的默认边距会显示额外的边距。以下是此问题的快速解决方法:

ul#navlist {
   margin:0;
}

虽然我强烈推荐重置表,但只需简单包含此表单,问题就解决了:http://necolas.github.com/normalize.css/