像许多其他人一样,我真的讨厌为IE7开发,因为我通常使用以下方法:
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="../res/styleie7.css">
<![endif]-->
这是针对IE7的浏览器版本,而不是IE7的文档标准。
我需要一种方法,用户使用更高版本的IE(IE8,9,10),但浏览器设置为使用IE7标准。有没有办法检测到而不只是检测浏览器版本?
答案 0 :(得分:0)
我通常使用将类属性附加到HTML的方法:
<!--[if IE 7 ]><html class="no-js ie7" lang="en"><![endif]-->
<!--[if IE 8 ]><html class="no-js ie8" lang="en"><![endif]-->
<!--[if IE 9 ]><html class="no-js ie9" lang="en"><![endif]-->
<!--[if (gte IE 9)|(gt IEMobile 7)|!(IEMobile)|!(IE)]><!--><html class="no-js" lang="en"> <!--<![endif]-->
通过这种方式,您可以使用IE前缀来定位CSS,例如:
.ie7 .selector {
properties
}
例如,当我在IE7模式下运行IE10时,此方法有效
答案 1 :(得分:0)
<!--[if lt IE 7]> <html lang="en" class="no-js ie lt-ie10 lt-ie9 lt-ie8 lt-ie7 ie6"> <![endif]-->
<!--[if IE 7]> <html lang="en" class="no-js ie lt-ie10 lt-ie9 lt-ie8 ie7"> <![endif]-->
<!--[if IE 8]> <html lang="en" class="no-js ie lt-ie10 lt-ie9 ie8"> <![endif]-->
<!--[if IE 9]> <html lang="en" class="no-js ie lt-ie10 ie9"> <![endif]-->
<!--[if IE 10]> <html lang="en" class="no-js ie ie10"> <![endif]-->
<!--[if !IE]><!--><html lang="en" class="no-js"><!--<![endif]-->
将此代码放在
之后现在你对ie7的css是
.ie7 .yourclass-or-id{
}
现在你对ie8的css是
.ie8 .yourclass-or-id{
}
现在你对ie9的css是
.ie9 .yourclass-or-id{
}
现在你的iess的css是
.ie10 .yourclass-or-id{
}
答案 2 :(得分:0)