使用IE10兼容模式的Asp.net Web应用程序问题

时间:2014-01-06 10:55:46

标签: html asp.net css drop-down-menu ie-compatibility-mode

我有一个asp.net应用程序,其下拉列表控件具有更大的宽度和垂直居中的对齐文本。

昨天我的dropdownlist控件突然失去了它在浏览器(IE 10)上显示不正确的css宽度/对齐属性。

在数小时内搜索问题之后,我注意到这是因为我不小心点击了地址栏(网址旁边)的“兼容模式”按钮。

我的帖子的详细信息:Vertically align text in a asp.net dropdown list control

点击兼容模式按钮后,它又开始恢复正常。

由于这发生在我身上,我想知道它可能发生在最终用户身上,因此也不正确地向他们显示。

是否有人知道如何避免这种情况并创建一个下拉列表/网络应用,如果用户意外点击该按钮,该应用无法取消格式化?

顺便说一下,我还使用IE开发工具在旧浏览器版本上测试我的页面,并注意到它在IE 9和8上运行良好,但是下拉列表在IE7上搞砸了。

谢谢!

1 个答案:

答案 0 :(得分:0)

您最好的选择是添加条件css引用,如果IE浏览器版本小于给定数量,则引用该引用。例如,如果添加一个新的css文件,其中包含特定于IE7的样式。这些注释掉的部分是IE黑客攻击。除非浏览器是IE7,否则此样式表不会生效。

 <!--[if IE 7]>
      <link rel="stylesheet" type="text/css" href="/styles/main.IE7.css"" />
    <![endif]-->

然后,您需要在此样式表中调整样式以适合IE7。

有时IE也设置为以兼容模式显示Intranet站点。请参阅此处以在web.config中添加设置,这将阻止此X-UA-Compatible is set to IE=edge, but it still doesn't stop Compatibility Mode