1

做了一点后我休息了一下,一切都很好。我回来看到我的标题在页面顶部和它本身之间有一个间隙。我不知道为什么,我一定是没得救之类的,但我不知道出了什么问题……

http://jsfiddle.net/Zevoxa/tCxaU/

HTML

<div id="header">
 <img id="logo" src="/img/logo.png">
 <div id="nav">
 <ul>
 <li><a href="#">Home</a></li>
 <li><a href="#">About</a></li>
 <li><a href="#">Contact</a></li>
 </ul>
 </div>
</div>

CSS

/*-- HEADER --*/

#header {
 position:relative;
 top:0px;
 width:100%;
 background-color:#2C2E31;
 border-bottom:#242426 solid 2px;
}

img#logo {
 display: block;
 margin-left:auto;
 margin-right:auto;
 margin-top:20px;
 margin-bottom:20px;
}

#nav ul li {
 list-style-type:none;
 display:inline;
 margin-bottom:0px;
 padding-bottom:0px;

}

/*-- CONTENT --*/

body {
 margin:0px;
 padding:0px;
 background-color:#2A2B2D;
}
4

2 回答 2

2

img#logo,使用margin-top: 0px;

于 2013-06-12T23:57:30.500 回答
2

您的问题是#logo 上的margin-top。

一种解决方案是将顶部 20px 间距添加为 #header 上的填充而不是 #logo 上的边距。

http://jsfiddle.net/JRPwr/

/*-- HEADER --*/

#header {
 position:relative;
 top:0px;
 width:100%;
 background-color:#2C2E31;
 border-bottom:#242426 solid 2px;
 padding-top:20px;
}

img#logo {
 display: block;
 margin-left:auto;
 margin-right:auto;
 margin-bottom:20px;
}

#nav ul li {
 list-style-type:none;
 display:inline;
 margin-bottom:0px;
 padding-bottom:0px;

}

/*-- CONTENT --*/

body {
 margin:0px;
 padding:0px;
 background-color:#2A2B2D;
}

以下 StackOverflow 问题中提到了替代解决方案: 子元素的边距移动父元素

于 2013-06-13T00:07:49.083 回答