如何让“position:fixed”css在IE 7+中使用TRANSITIONAL doctype?
-
06-07-2019 - |
题
我知道在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糟透了。
不隶属于 StackOverflow