我有一个宽度为960px的主内容DIV,里面有两个浮动的DIV元素。这是它的简化版本:
<div id='content'>
<div id='main_data'>
....Data....
</div>
<div id='sidebar'>
....data....
</div>
</div>
CSS:
div#content { width: 960px; position: relative }
div#main_data { float: right; width: 755px; }
div#sidebar { float: left; width: 190px; padding: 4px }
DIV #main_data似乎在#content中居中,#sidebar显示为左侧浮动,但在#main_data下方。 #content没有定义的边距或填充,甚至包括#sidebar中的4px填充,浮动的宽度也不超过960px。
这在Firefox,IE8,Chrome,Safari和Opera中显得很好 - 但在IE7和IE6中却没有。
我应该补充说,如果我在DOM中切换位置,它们会正确显示 - 我试图通过将#main_data中更相关的信息放在文档顶部附近来使这个网站更易于访问SEO(Wikipedia可以同样的事情,左侧边栏在源代码中出现。)
答案 0 :(得分:0)
我不太确定你要做什么,所以首先你应该更清楚,但我认为你遗漏的是一个明确的元素,如<br style="clear:both;
/'&gt;
<div id='content'>
<div id='main_data'>
....Data....
</div>
<div id='sidebar'>
....data....
</div>
<br style='clear:both;'/>
</div>
#content { width: 960px; }
#main_data { float: right; width: 755px; }
#sidebar { float: left; width: 190px; padding: 4px }
答案 1 :(得分:0)
有趣的是,我完全复制了你的代码,添加了根html标签和一些Lorem Ipsum文本来代替“...... data ...”,并且看到了完全相反的结果:IE7中的预期行为,但不是FF 3.5
我的解决方案是使用两个子div的边距和填充,直到布局在所有浏览器中看起来都正常。具体来说,我将侧边栏填充降低到3px,并明确将其他两个div的边距设置为0px。但鉴于我的初步结果与你的相反,我猜这也可能与你不同。