我有一个固定位置的标题(动态高度)。
我需要将容器div放在标题下方。由于标题高度是动态的,我不能使用固定值作为上边距。
如何做到这一点?
这是我的CSS:
#header-wrap {
position: fixed;
height: auto;
width: 100%;
z-index: 100
}
#container{
/*Need to write css to start this div below the fixed header without mentioning top margin/paading*/
}
...和HTML:
<div id="header-wrap">
<div id="header">
<div id="menu">
<ul>
<li><a href="#" class="active">test 0</a></li>
<li><a href="#">Give Me <br />test</a></li>
<li><a href="#">My <br />test 2</a></li>
<li><a href="#">test 4</a></li>
</ul>
</div>
<div class="clear">
</div>
</div>
</div><!-- End of header -->
<div id="container">
</div>
答案 0 :(得分:54)
你的#container应该在#header-wrap之外,然后为#header-wrap指定一个固定的高度,之后为#container指定margin-top等于#header-wrap的高度。像这样:
#header-wrap {
position: fixed;
height: 200px;
top: 0;
width: 100%;
z-index: 100;
}
#container{
margin-top: 200px;
}
希望这是你需要的: http://jsfiddle.net/KTgrS/
答案 1 :(得分:6)
嘛!当我现在看到我的问题时,我意识到由于标题的动态高度,我不想提及固定边距值。
以下是我一直在使用的场景。
使用jQuery计算标题高度,并将其应用为上边距值。
var divHeight = $('#header-wrap').height();
$('#container').css('margin-top', divHeight+'px');
<强> Demo 强>
答案 2 :(得分:3)
body{
margin:0;
padding:0 0 0 0;
}
div#header{
position:absolute;
top:0;
left:0;
width:100%;
height:25;
}
@media screen{
body>div#header{
position: fixed;
}
}
* html body{
overflow:hidden;
}
* html div#content{
height:100%;
overflow:auto;
}
答案 3 :(得分:1)
我认为你的标题是固定的,因为你希望它保持在页面的顶部,即使用户向下滚动,但你不希望它覆盖容器。设置position: fixed
会从页面的线性布局中删除元素,因此您需要将“next”元素的上边距设置为与标题的高度相同,或者(如果适用于任何内容)你不想这样做的原因),把占位符元素放在页面流中占用空间,但会出现在标题出现的位置下面。
答案 4 :(得分:1)
position :fixed
与其他布局不同。
在fixed
position
header
之后,请注意,您必须为margin-top
div设置content
。
答案 5 :(得分:0)
将#container div 顶部设为零
#container{
top: 0;
}