#content
div包含大部分网络内容。如下所示,有一个280px的上边距,因为这是网站标题图像的高度,它作为背景放在“body”中(image / sky1.jpg)。
如何将div作为持有者定位在#content
div的“边距”上方,以便我可以将#navigation
,#Title
div放在标题图像上方?
#content div上方的#top-float
div是它的开头,但每次我向高度添加更多
“保证金”受到影响,将其推向下方。
我尝试将<div id="top-float></div>
放在html的<div id="content"></div>
之上。这是我应该如何定位的?
html {
background: #73ADD7 url(images/gradient.gif) repeat-x;
}
body {
padding: 0;
margin: 0;
background:url(images/sky1.jpg) no-repeat center top;
color: #666;
width: 100%;
display: table;
}
#top-float{
padding-left:2.3em;
padding-right:2.3em;
height:10em;
}
#content {
width: 890px;
margin: 280px auto 0;
background: #fff;
border: solid 0px #ccc;
padding: 0px;
}
#footer {
width: 890px;
margin: px auto 0;
background:url(images/footer-bg.jpg)
no-repeat center bottom #fff;
border: solid 0px #ccc;
height:250px;
}
答案 0 :(得分:1)
最简单的方法是让#top-float
高度为280px
,然后将top-margin
放在#content
上:
<html>
<head>
<style type="text/css">
html {
background: #73ADD7 url(images/gradient.gif) repeat-x;
}
body {
padding: 0;
margin: 0;
background:url(images/sky1.jpg) no-repeat center top;
color: #666;
width: 100%;
display: table;
}
#top-float{
margin: 0;
padding: 0 2.3em;
height:280px;
}
#content {
width: 890px;
margin: 0 auto;
background: #fff;
border: solid 0px #ccc;
padding: 0px;
}
#footer {
width: 890px;
margin: 0 auto;
background:url(images/footer-bg.jpg)
no-repeat center bottom #fff;
border: solid 0px #ccc;
height:250px;
}
</style>
</head>
<body>
<div id="#top-float">
</div>
<div id="#content">
</div>
<div id="#footer">
</div>
</body>
</html>
如果您需要em
尺寸调整,请给予#top-float
尺寸调整的孩子,并确保提供#top-float
overflow: hidden;
如果您希望将内容显示在标记中的标题上方以用于搜索引擎优化,则可以执行以下操作:
<html>
<head>
<style type="text/css">
html {
background: #73ADD7 url(images/gradient.gif) repeat-x;
}
body {
padding: 0;
margin: 0;
background:url(images/sky1.jpg) no-repeat center top;
color: #666;
width: 100%;
display: table;
}
#top-float{
position: absolute;
top: 0;
left: 0;
padding: 0 2.3em;
height:280px;
}
#content {
width: 890px;
margin: 280px auto 0;
background: #fff;
border: solid 0px #ccc;
padding: 0px;
}
#footer {
width: 890px;
margin: 0 auto;
background:url(images/footer-bg.jpg)
no-repeat center bottom #fff;
border: solid 0px #ccc;
height:250px;
}
</style>
</head>
<body>
<div id="#content">
</div>
<div id="#footer">
</div>
<div id="#top-float">
</div>
</body>
</html>
答案 1 :(得分:1)
只需从内容div中删除上边距,然后使用指定的高度添加其上方的占位符。
HTML剪辑:
<body>
<div id="header">Stuff</div>
<div id="content">Body stuff.../div>
</body>
和CSS:
#content {
margin-top:0;
}
#header {
height:280px;
}
如果额外的标题信息在内容div中(语义上)更有意义,则可以使用负边距。
HTML剪辑:
<body>
<div id="content">
<div id="header">Stuff</div>
Body stuff...
</div>
</body>
和CSS:
#content {
margin-top:280px;
}
#header {
margin-top:-280px;
}
答案 2 :(得分:0)
在没有看到HTML的情况下回答这个问题有点棘手,但有一些建议:
与往常一样,没有一种方法可以实现这一目标。
答案 3 :(得分:0)
您可能希望对#top-float div使用绝对定位或固定定位。
为什么要将标题图像作为背景图像?我想你会发现,如果你不把网站的标题图片作为背景,这一切都会变得更容易。通常的做法是点击网站的徽标(我假设在您的标题图片中)将用户带回主页。使网站的徽标成为背景图像会有效禁用此功能。