我试图让一个动态大小的侧边栏浮动在我的网页的右上方(但在标题和导航下方)并让页面上的主要内容围绕它流动(有点像“L”形除了“L”的底部很厚)。侧边栏的宽度和高度会因页面而异,因此我不能使用任何硬值。
我的CSS看起来像:
#main {
width: 850px;
height: auto;
}
#sidebar {
width: auto;
float: right;
}
(加上一些我认为无关紧要的填充、边距和背景颜色代码)
我的 html 看起来像:
<div id="wrapper">
<div id="header"> /* header stuff */ </div>
<div id="nav"> /* nav stuff */ </div>
<div id="sidebar">
/* my sidebar content, really just an h3 and a ul */
</div>
<div id="main">
/* lots of content here */
</div>
</div>
我不完全理解为什么我必须首先拥有侧边栏 div,但是这段代码在 FF、Chrome、Safari (Windows) 和 IE8 中运行良好。但是在 IE7(和我不关心的 IE6)上,主要内容被推到侧边栏底部下方,好像侧边栏 div 上有一个“clear:left”(但没有) .
我有一种感觉,这是 IE7 不合规错误之一,特别是因为 IE8 的行为与其他浏览器完全一样。但我不知道如何解决它。
有任何想法吗?TIA。