【发布时间】:2014-11-17 17:55:43
【问题描述】:
所以我需要在 IE7 标准模式下检测 IE11,在 IE7 标准模式下检测 IE9,最好只通过 CSS。
我无法真正控制 HTML 或 JavaScript。我可以完全控制的是 CSS 文件。
我愿意接受任何肮脏的伎俩/黑客向两个不同的浏览器发送不同的样式。
要明确:
body{
background: red; /*Awesome IE11 hack here somewhere*/
background: green; /*Mindboggling IE9 hack around here*/
}
IE7 标准模式下的 IE11 应该有红色背景。 IE7 标准模式下的 IE9 应该有绿色背景。
通过 hack,我正在考虑这样的事情: 来自http://browserhacks.com/
_::selection, .selector:not([attr*='']) {}
以上支持除 IE8 和 Firefox 之外的所有内容。
拜托了,上面加糖...
【问题讨论】:
-
不,它不是重复的。其他问题都不是 CSS 解决方案。
-
不是重复的。 OP 询问是否可以在仅 CSS 文件中进行破解。如果 OP 可以编辑 HTML 并添加 JS,您提供的链接提供了解决方案。但是要回答这个问题,我认为这是不可能的,因为您无法真正在 CSS 文件中检测到浏览器,您需要在页面预处理时进行。但是,如果有办法,那就很有趣了。
-
@jBoive 我不知道您是否可以访问服务器,但这可能是您的解决方案conditional-css.com/usage - 如果您可以访问服务器,您可以编辑HTML 或 JS :)
-
+1 for the sugar ;) 这确实引出了问题:ie11 和 ie9 在 ie7 模式下的行为是否不同?为什么你需要知道 - 学术练习或老板要求你知道?
-
@disinfor 当然可以。例如,这仅适用于 IE10+:_:-ms-input-placeholder, :root .selector {}
标签: html css internet-explorer