【发布时间】:2014-07-07 10:02:07
【问题描述】:
我已经阅读了几个关于此的答案,但我找不到合适的答案。我创建了一个容器 div 并在其中创建了 3 个单独的 divs 并使用 CSS 定位对其进行了定位。在底部我有一个页脚div 但是当我在浏览器中加载页面时,页脚下方有额外的空间。我不想使用置顶页脚,因为我页面上的内容是动态加载的,所以页面高度会动态变化。
我认为问题在于浏览器在解析页面时添加了每个 div 的高度,并将该总和设置为文档的高度。因为div 是块级元素,它们的流在正常流中是一个在另一个之下。
因此,即使divs 使用 CSS 的定位属性(top、left、etc)进行定位,浏览器仍然会以正常流程解析它们,从而将它们的高度相加(在顶部-它们在正常流程中出现的底部方式),从而导致页脚下方有额外空间,就好像内部divs(b、c、d)溢出页脚(它们没有定位)。
我只想知道如何让我的浏览器忽略多余的空间。
这是我的代码(另见 live example)
<html>
<head>
<style>
#container{width:1000px;height:600px;border:2px solid black;}
#b{width:200px;height:500px;border:2px solid blue;}
#c{width:500px;height:500px;border:2px solid green;position:relative;top:-480px;left:247px;}
#d{width:200px;height:500px;border:2px solid red;position:relative;top:-1005px;left:797px;}
#footer{width:1000px;height:200px;border:2px solid red;}
</style>
</head>
<body>
<div id="container">
<div id="b"><h2>Division_01</h2></div>
<div id="c"><h2>Division_02</h2></div>
<div id="d"><h2>Division_03</h2></div>
</div>
<div id="footer"><h2>This is my FOOTER....</h2></div>
</body>
</html>
【问题讨论】:
-
尝试将
html, body { margin: 0; padding: 0; }添加到您的CSS -
为什么用 jQuery 标记这个?
-
它的标签是这样的,bcoz 我想也许,jQuery 可以来拯救....
-
使用绝对/相对定位是一种非常糟糕的多列布局方式。当内容超出您分配的空间时会发生什么?
-
那么最好的方法是什么?包含这么多内容的网站如何应用布局。我的意思是他们有导航栏在左边,然后是内容栏在中间,然后其他栏在右边,还有他们的广告。他们使用哪种布局技术??