内容宽度是否超​​过身体宽度?

时间:2011-08-23 10:25:43

标签: html css

以下是一个非常简化的示例:http://jsfiddle.net/guard/MmcEY/3/ 这里人为拒绝了身体宽度,但实际应用并非如此 - 见下文。

有多个块类似于#d1和#d2。所有这些都具有最小宽度设置。 屏幕底部还有一条条纹,必须填满整个宽度。

在宽屏幕上一切正常 - 有足够的正文宽度可以容纳块,没有滚动,条纹填满整个屏幕宽度。

但是在狭窄的屏幕上(在示例中模拟明确设置了主体宽度)会发生以下情况:内容的宽度实际上大于主体的宽度。此内容使水平滚动显示,但它不会拉伸身体。因此,条纹(底部的绿线)占用的空间比页面内容少。

=====

嗯,太棒了,伙计们,我知道这是因为保证金:)。

正如我所说,固定的身体宽度在这里设置仅用于演示,在现实世界中,身体宽度由窗口大小定义。但是几个块仍然在身体之外,所以滚动出现,而身体宽度不会改变。

那么,是否有任何方法使条带填充整个窗口的客户端宽度,同时保留其余的标记?

我正在使用现有网站,并且不希望完全重新破解整个布局(非常复杂且不由我编码)。

2 个答案:

答案 0 :(得分:1)

这是因为您的#d2元素设置为负[{1}} - 这意味着它将落在margin-right元素之外。如果您删除此属性,则会看到该块下降到下一行(body#d1都是#d2)。

基本上,布局正在做你要告诉它的事情。无论浏览器窗口大小如何,条带总是150px宽(体宽的100%)。

答案 1 :(得分:0)

这是因为第二个div的边距为-200px。这会诱使浏览器认为它的宽度为-50px,因此它会使这些div彼此相邻,即使这些内容的一部分呈现在身体之外。

所以:失去保证金。 :)