我在twitter bootstrap中创建了一个网站,希望将content
div
放在fixed
标题的下方。问题是,我的标题有position:fixed
,这会使它脱离布局流程,并折叠我的div,因此它似乎没有任何高度。我不想添加height
,因为我的标题可能会根据其内容更改高度。
下面是我的代码:http://jsfiddle.net/7nSss/1/
这里有一个答案How to position a html element under a fixed div,但我不想使用margin
或padding
,因为我的固定头可能会改变高度。
4条答案
按热度按时间vfwfrxfs1#
有两种方法可以解决这个问题:
CSS方式
只需隐藏标题的副本,并将其插入到内容之前,并在其上使用
position: static
和visibility: hidden
。JS方式
动态获取页眉外部高度并将其用于顶部边距,如下所示:
eoigrqb62#
这里有一个正在工作的jsFiddle
如果你的标题在媒体查询或其他功能中发生了变化,你可以简单地添加
$(window).resize(function() { [your code here] });
来适应窗口大小调整功能中的边距。xlpyo6sf3#
如果你的header是固定的,动态改变header的高度,那么你需要计算header的高度,并设置为内容div。
DEMO
jQuery
j2qf4p5b4#
无边距/填充的CSS解决方案
使用
position: sticky
和top: 0px
作为固定的头部。这样,div将是固定的,并且还从父级获取其高度,因此它不会与其兄弟一起折叠。