0

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

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

在搜索了几个小时后,我注意到这是因为我不小心点击了地址栏上的“兼容模式”按钮(在 url 旁边)。

我的帖子的详细信息:在 asp.net 下拉列表控件中垂直对齐文本

回击兼容模式按钮后,它再次开始正常工作。

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

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

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

谢谢!

4

1 回答 1

0

您最好的选择是添加一个条件 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 设置为 IE=edge,但它仍然不会停止兼容模式

于 2014-01-06T11:06:48.857 回答