【问题标题】:Asp.net web app issue with IE10 Compatibility mode [closed]IE10兼容模式的Asp.net Web应用程序问题[关闭]
【发布时间】:2014-01-23 18:27:00
【问题描述】:

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

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

经过几个小时的搜索,我发现这是因为我不小心点击了地址栏(网址旁边)的“兼容模式”按钮。

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

点击兼容模式按钮后,它又开始正常工作了。

既然这发生在我身上,我想知道最终用户可能会发生这种情况,因此也会错误地向他们显示。

有谁知道如何避免这种情况并创建一个下拉列表/网络应用程序,如果用户不小心点击了该按钮,它不会取消格式化?

顺便说一句,我还使用 IE 开发工具在旧版本的浏览器上测试了我的页面,发现它在 IE 9 和 8 上也能正常工作,但下拉列表在 IE7 上就乱了。

谢谢!

【问题讨论】:

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


    【解决方案1】:

    您最好的选择是添加一个条件 css 引用,如果 IE 浏览器版本低于给定数量,该引用就会启动。例如,如果您添加一个新的 css 文件,其中包含特定于 IE7 的样式。这些注释掉的部分是 IE hack。除非浏览器是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

    【讨论】:

    • 我关心的不是支持IE7等旧版本。我担心的是用户是否有较新的版本(例如 IE10)并意外单击了兼容模式。该应用程序将取消格式化。有没有办法通过代码来屏蔽兼容模式按钮?
    • 看到这个问题我相信你可以在你的页面上添加一个meta标签来阻止兼容模式stackoverflow.com/questions/6348959/…
    猜你喜欢
    • 2013-08-11
    • 2014-06-27
    • 2013-04-26
    • 1970-01-01
    • 2013-03-02
    • 2013-01-25
    • 2011-06-12
    • 2016-11-09
    • 2013-01-16
    相关资源
    最近更新 更多