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

我的问题是:“我如何使用 TRANSITIONAL DOCTYPE 使用IE 7?<

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

有帮助吗?

解决方案

fixed 支持您不需要严格的DOCTYPE。您只需要一个触发标准模式(或“几乎标准”)的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的那些)。

其他提示

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top