我疯狂地试图摆脱网页顶部的这个小填充。它出现在所有浏览器中。 这是图片
<!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;
}
答案 0 :(得分:4)
组:
* {
margin: 0;
}
html {
margin: 0;
}
body {
margin: 0;
}
答案 1 :(得分:2)
ul {
margin-top: 0;
}
此外,您的<meta>
代码还包含语法。
答案 2 :(得分:1)
导航栏中链接的ul
和li
具有需要删除的上边距。
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/