我们使用较旧版本的IE7开发了一个应用程序。
并且代码包含“ CSS表达式”,但是在IE11中不起作用。
样例代码:
div#GridViewContainer
{
position: relative !important;
width: 1000px !important;
overflow: auto !important;
}
_:-ms-fullscreen, :root .staticHeader
{
position: relative !important;
top: expression(this.offsetParent.scrollTop);
z-index: 99 !important;
}
_:-ms-fullscreen, :root .StaticColumn
{
z-index: 90 !important;
border: 1px solid gray !important;
position: relative !important;
left: expression(document.getElementById("GridViewContainer").scrollLeft);
}
如何在IE11中进行工作以及替代方法?
如何更改我的代码?
或者
如果您感到懒惰或不想使用JS,请尝试设置“文档”模式:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
将其添加到该<head>...</head>
部分。
请注意,这可能会破坏您可能使用的IE7不支持的属性。
为什么要避免使用CSS表达式:
从Internet Explorer 11开始,不再为Internet区域中加载的网页启用CSS表达式。当页面以IE7标准模式或IE5 quirks模式呈现时,在其他区域(例如Intranet区域)中加载的页面支持CSS表达式。
还,
不幸的是,CSS表达式带来的性能损失是相当大的,因为浏览器会在触发任何事件(例如窗口调整大小,鼠标移动等)时重新评估每个表达式。CSS表达式的性能不佳是它们现在在IE 8中被弃用的原因之一。如果您在页面中使用过CSS表达式,则应尽一切努力删除它们并使用其他方法来实现相同的功能。
正如Leo Caseiroin在他的回答中所建议的那样,条件注释应该可以工作,它实际上将为您节省IE7 +上的一些带宽。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句