我们最近重新设计了我们面向公众的网站,但是有一项没有得到充分传达。
我们网站的某个部分使用了一些较新的 CSS 显示类型。这在几乎所有浏览器中看起来都很好,但在 IE8 的兼容模式或 IE7 中则不然。
这不是问题,除了错误传达的元素是我们确实需要支持 IE7。
出于这个原因,我最初的修复(强制 IE8 进入标准模式)被拒绝了。
我目前正在开发一个 CSS 来覆盖页面的这些部分。我们希望这是一个单独的 CSS 文件,而不是出于可维护性原因在主样式表中使用 CSS hack。
我的理解是,我可以通过使用 IE 的条件注释将其包含(或不包含)仅用于 IE7 及以下版本。如果我使用条件注释
<!-- if lte IE 7>
这也会包含在 IE8 的兼容模式中吗?如果不是,我如何专门针对 IE 8 兼容性?
最佳答案
至少在 IE9 中,IE 的条件注释功能与 IE7 相同。例如,使用以下代码:
<!--[if IE 7]>IE7.<![endif]-->
<!--[if IE 8]>IE8.<![endif]-->
<!--[if IE 9]>IE9.<![endif]-->
“IE7”将显示在 IE9 中,工作在通过地址栏右侧的按钮触发的兼容 View 模式下。
更新:刚刚在 IE8 中测试过——它和 IE9 一样。
关于css - IE7/IE8 兼容模式特定 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12827620/