如何让“position:fixed”css在IE 7+中使用TRANSITIONAL doctype?

时间:2009-10-27 01:18:19

标签: css internet-explorer-7 doctype

我知道在IE 7之前IE不支持position:fixed;,如果你有STRICT DOCTYPE它只适用于IE 7。

我的问题是:“如何使用TRANSITIONAL DOCTYPE将IE 7与IE 7配合使用?”

请不要建议更改DOCTYPE,因为这不回答我的问题,谢谢。

2 个答案:

答案 0 :(得分:23)

fixed支持您不需要严格的DOCTYPE。您只需要一个触发Standards Mode(或“几乎标准”)的DOCTYPE。这可以是过渡性文档类型,例如:

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

或XHTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

只要包含系统ID(最后的URI)。

如果您的网页确实 依赖于Quirks模式(呃!),我很抱歉,您无法使用fixed并且不得不求助于JavaScript黑客攻击(但是你可能会无论如何都需要那些IE6。

答案 1 :(得分:10)

即使使用Transitional / Strict Doc类型,固定位置也不适用于我。但是我在兼容模式下使用IE9,并且假设使用IE8运行时库进行渲染。要解决此问题,我必须将以下CSS添加到元素。

.elementToBeFixed {
    position: fixed;
    top: 0;
    left: 0;
}

它不适用于Top或Left缺失你必须明确地将它们设置为零(或你想要的值)才能在IE的所有版本中工作....不用说IE糟透了。