IE中的绝对定位div宽度/高度(所有版本)

时间:2011-08-12 08:01:45

标签: css

我对css的了解非常有限。在更大的背景下,我需要做类似以下的事情:

内部div进入其他div。我试图定位内部div,偏离浏览器窗口,其大小是浏览器窗口的一定百分比。所以我将以下css应用于内部div

.abs_pos {
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    background-color: yellow;
    z-index:1002;
    overflow: auto;
}

适用于Chrome和Firefox。但是在IE(所有版本)上,内部div的宽度变为直接外部div的百分比而不是浏览器窗口的百分比,而高度似乎是根据内部div的内容确定的。

我在这里有示例html文件的链接。 http://orissaclassifieds.com/pos.html

那么我怎样才能做到这一点?谢谢你的帮助。

3 个答案:

答案 0 :(得分:2)

您当前的代码应该有效,但您使用的是无效/不完整的doctype,这会将IE发送到怪癖模式。

对于HTML4.01 Transitional,它应该是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

然而,要使用的更短/更简单的doctype是HTML5。它将在所有浏览器中触发标准模式:

<!DOCTYPE HTML>

答案 1 :(得分:0)

通过使父div具有css规则,您可以在所有浏览器中使用它:

position:relative;

答案 2 :(得分:0)

不好意思,但是我不明白为什么你在每个参数中使用百分比,在另一个div中也使用宽度和高度......除非主容器是正文页面。在你的情况下,我应该使用像素,如果div被放入另一个div,你可以使用相对而不是绝对...这是相对于你所在的容器...希望这有帮助