如何获得“位置:固定”的CSS工作在IE 7 +与TRANSITIONAL文档types?

我知道那个position:fixed; 直到IE 7才被IE支持,如果你有一个STRICT DOCTYPE ,它只能在IE 7中工作。

我的问题是:“如何使用带有TRANSITIONAL DOCTYPE IE 7工作?”

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

您不需要严格的DOCTYPE来获得fixed支持。 您只需要触发标准模式 (或“几乎标准”)的DOCTYPE。 这可以是一个过渡性的文档types,如:

 <!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)即可。

如果你的网页真的依赖怪癖模式(呃!),我很抱歉,但你不能使用fixed ,将不得不求助于JavaScript黑客(但你可能需要这些IE6的反正)。

即使使用Transitional / Strict Doctypes,固定位置也不适用于我。 但是我在兼容模式下使用IE9,并假设使用IE8运行时库进行渲染。 要解决这个问题,我不得不添加下面的CSS元素。

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

它不工作,顶或左丢失,你必须明确地将其设置为零(或所需的值),因为它可以在所有版本的IE中工作….不用说IE很烂。