空间距Div消失

时间:2010-07-22 15:11:02

标签: html css internet-explorer-6

不确定为什么这不起作用 - 我有3个div,其中两个侧面是空的,而我的所有内容都在中间。 IE6显然忽略了空div,因为内容被推向左边。任何想法可能是什么问题?

.sidebar {
float: left;
width: 25%;
height:auto;
visibility:hidden;
font-size:1px;
line-height:0;
}

.main {
width: 50%;
height:auto;
float:left;
}
<div class="sidebar"><p> </p></div>
<div class="main">
...
</div>
<div class="sidebar"><p> </p></div>

我尝试在div中添加空注释而不是空段落,尝试将 放入div中,互联网说要做的任何事情都没有运气。如果您想查看主要内容,请与我们联系。

谢谢!

4 个答案:

答案 0 :(得分:1)

我认为这种情况下,如果侧面的div将保持空白,你必须指定高度或至少一个最小高度才能显示出来。或者,再次,如果它们将保持为空,您可以简单地删除它们并使用保证金:0自动0自动使中间列居中。特别是IE6存在一些非破坏空间的问题,这些问题可能会导致各种奇怪的事情发生,但仅限于某些特定版本的IE6。啊,浏览器的乐趣。

请注意,如果高度:auto不知道要拉伸到什么内容,则不会拉伸任何内容,就像高度一样:如果没有已知大小的div到100%,则100%将无效。从你的问题来看,似乎你并没有试图将它拉伸到屏幕上,但这是值得注意的。

诸如960.gs,YUI网格或蓝图之类的CSS框架会让这个变得轻而易举......我只是在说'

答案 1 :(得分:1)

不间断空格的HTML元素是

&nbsp;

您可以使用它来显示div。如果你想要一个非常小的div,这可能会引起问题,因为空间有一个行高和所有这些,但在某些情况下它可能很有用。

答案 2 :(得分:0)

我在IE6中没有看到我的错误。我将您的示例粘贴到.html文档中,并且它正常工作(IE6尊重隐藏的.sidebar)。

出于好奇,你想做什么?如果您只想要一个居中的.main容器,可以使用以下标记来完成:

<div style="width: 50%; margin: 0 auto;">
    Centered content, 50% width of its parent container.
</div>

答案 3 :(得分:0)

我认为发生的事情是你的div实际上并没有浮动。

如果你做25%-50%-25%,IE将没有足够的空间让他们漂浮。

尝试使用较小的东西进行测试,例如20%-45%-20%

听起来很荒谬,但这是真的。 IE6不允许您将宽度百分比添加到100%。

另外,我们需要查看更多代码,以便为您进一步解决此问题... http://www.jsfiddle.net/