在IE6中绝对定位,使用left:0;和右:0;同时

时间:2010-04-08 22:35:17

标签: html css internet-explorer-6

这是我的网站:http://dagwaging.110mb.com/ 在任何好的浏览器中查看,然后在IE6中查看。它在IE6中死掉。似乎在IE6中,人们不能这样做:

div {
position: absolute;
left: 0px;
right: 0px;
}

或者这个:

div {
position: absolute;
top: 0px;
bottom: 0px;
}

不能同时为左右或上下设置绝对位置。 这太糟糕了,因为这几乎是我网站设计的基础。 可以在网站上查看HTML,CSS位于/style.css中。 我想解决这个问题,而不会使我的CSS或HTML无效。可以这样做吗?

另一个问题是我的内容使用最小宽度和最大宽度来避免过度拉伸或压缩其中的内容。 IE6不能做min-width,那么我怎么能复制这种行为呢?

3 个答案:

答案 0 :(得分:10)

好吧,如果你想修复它,看看A List Apart上的这篇文章,它会处理这个确切的主题(并解释如何解决它):Conflicting Absolute Positions

但就个人而言,我只是忽略了IE6。

答案 1 :(得分:0)

解决IE6上的问题的一种方法是使用IE6的不完善,你知道IE6中的宽度= 100%也包含填充和边距,所以你担心,但我同意上面的答案,新的浏览器没有看到两者,所以你应该考虑放弃其中一个

至于最小和最大 - 我能够做到的唯一方法是使用jquery,你总是可以使用仅适用于IE的getBoundingClientRect(DOM javascript)来确定高度和宽度,如果你不想使用jquery

答案 2 :(得分:0)

要在IE6中实现100%的宽度,请将其添加到您的代码中:

<!--[if lt IE 7]>
<style type="text/css">
div {
  width:expression(document.body.clientWidth);
}
</style>
<![endif]-->

要在IE6中实现100%的高度,请将其添加到您的代码中:

<!--[if lt IE 7]>
<style type="text/css">
div {
  height:expression(document.body.clientHeight);
}
</style>
<![endif]-->

如果您需要整个页面的div(宽度和高度均为100%),只需加入这两个属性:

<!--[if lt IE 7]>
<style type="text/css">
div {
  height:expression(document.body.clientHeight);
  width:expression(document.body.clientWidth);
}
</style>
<![endif]-->