【发布时间】:2014-08-15 13:53:46
【问题描述】:
我有一个布局,左侧有一个菜单 DIV。它以固定的 EM 宽度向左浮动。然后我有一个内容 DIV,其左边距大于菜单的宽度。所以它很好地位于菜单的右侧,并用菜单和内容完美地排列了剩余的空间。
但是,在 Internet Explorer 6 中,如果内容太宽,它会落在菜单下方。这意味着您有大量空白,并且在不滚动的情况下根本看不到任何内容。
很遗憾,我无法更改内容 - 这是对托管第 3 方内容的网站的重新设计,更改该内容超出了我的能力范围。
此外,菜单和内容下方都必须有一个页脚栏。
我几乎可以通过使用绝对定位为 IE6 提供不同的布局来让它工作 - 不幸的是,页脚看起来很垃圾,因为 IE6 是我们网站上使用量第二大的浏览器,我真的不能这样做。
我也尝试过处理溢出问题,但最终导致随机滚动条出现在各处,这也不好。
有谁知道是否有一种简单的非 Javascript 方式可以在 IE6 和“正确”浏览器中运行?我目前认为它必须是基于表格的布局。
这是一个问题的例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
.menu {
width: 14em;
float: left;
}
.content {
margin-left: 15em;
zoom: 1;
}
.footer {
clear: both;
}
/* styling to make the demo more obvious */
.menu {
background-color: #f99;
}
.content {
background-color: #9f9;
}
.footer {
background-color: #99f;
}
td {
border: 1px solid #000;
}
</style>
</head>
<body>
<div class="container">
<div class="menu">
<ul>
<li><a href="#">menu item</a></li>
<li><a href="#">menu item</a></li>
<li><a href="#">menu item</a></li>
<li><a href="#">menu item</a></li>
</ul>
</div>
<div class="content">
<h1>Main Content</h1>
<table>
<tr>
<td>this is a really</td>
<td>wide table which</td>
<td>I am using to push</td>
<td>the content down</td>
<td>need to keep going</td>
<td>so that it breaks</td>
<td>in ie6</td>
<td>but naturally</td>
<td>nothing else</td>
<td>sghskdhksdhfsdhffs</td>
<td>sghskdhksdhfsdhffs</td>
<td>sghskdhksdhfsdhffs</td>
<td>sghskdhksdhfsdhffs</td>
</tr>
</table>
</div>
</div>
<div class="footer">
<p>Copyright blah blah blah</p>
</div>
</body>
</html>
【问题讨论】:
-
我不知道如何将 2 个 cmets 添加到相同的答案中......但无论如何......虽然我设法通过溢出解决了这个问题,但它产生了一个更糟糕的问题,我会最终得到 2 组滚动条。导航一张非常大的桌子变得非常困难。您必须使用一个滚动条才能找到另一个滚动条。然后使用第一个再次向上滚动等等。它只是产生了很多可用性问题。 (这并不是说它不能工作..)
标签: html css xhtml internet-explorer-6