我知道在IE 7之前IE不支持position:fixed;
,如果你有STRICT DOCTYPE
它只适用于IE 7。
我的问题是:“如何使用TRANSITIONAL DOCTYPE
将IE 7与IE 7配合使用?”
请不要建议更改DOCTYPE
,因为这不回答我的问题,谢谢。
答案 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糟透了。