我有一个CSS / jQuery Checkbox样式脚本:http://jsfiddle.net/BwaCD/
问题是,在当前浏览器中,为了使跨度在输入上浮动,输入的位置必须是绝对的。但在IE8&下面,脚本将无法工作,因此我留下了绝对定位的输入,只是浮动在其他元素上。我不是要求脚本在IE8和IE中工作。下方。
我想知道如果它是IE8及以下版本,我可以使用CSS设置一个特定的样式。我想如果有必要,jQuery是可以接受的,但我认为不是。我知道这可以通过CSS& HTML我只是不知道如何。
答案 0 :(得分:15)
条件评论会起作用(<!--[if lte IE 8]><stylesheet><![endif]-->
),但如果您想在样式表中完成所有操作,那么is a way:
body {
color: red; /* all browsers, of course */
color: green\9; /* IE only */
}
这里最重要的是&#34; \ 9&#34;,它必须是&#34; \ 9&#34;。我不明白为什么会这样。
编辑:\ 9 hack本身并不够。要排除IE9,您还需要:root
hack:
:root body {
color: red\9; /* IE9 only */
}
IE之外的其他浏览器可能支持:root
,因此如果您使用它来定位IE9,请将其与\ 9 hack结合使用。
答案 1 :(得分:10)
答案 2 :(得分:3)
您可以使用Internet Explorer的条件注释向HTML根标记添加类名 对于较旧的IE浏览器:
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
然后,您可以通过引用适当的类名来定义特定于IE的CSS,如下所示:
.ie8 body {
/* Will apply only to IE8 */
}
来源:http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
答案 3 :(得分:2)
定位IE的所有版本:
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->
除IE之外的一切目标
<!--[if !IE]><!-->
<link rel="stylesheet" type="text/css" href="not-ie.css" />
<!--<![endif]-->
仅限目标IE 7
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->
仅限目标IE 6
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->
仅限目标IE 5
<!--[if IE 5]>
<link rel="stylesheet" type="text/css" href="ie5.css" />
<![endif]-->
仅限目标IE 5.5
<!--[if IE 5.5000]>
<link rel="stylesheet" type="text/css" href="ie55.css" />
<![endif]-->
目标IE 6和LOWER
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="ie6-and-down.css" />
<![endif]-->
目标IE 7和LOWER
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" href="ie7-and-down.css" />
<![endif]-->
目标IE 8和LOWER
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->
<!--[if lte IE 8]>
<link rel="stylesheet" type="text/css" href="ie8-and-down.css" />
<![endif]-->
目标IE 6和更高
<!--[if gt IE 5.5]>
<link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->
<!--[if gte IE 6]>
<link rel="stylesheet" type="text/css" href="ie6-and-up.css" />
<![endif]-->
目标IE 7和更高
<!--[if gt IE 6]>
<link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->
<!--[if gte IE 7]>
<link rel="stylesheet" type="text/css" href="ie7-and-up.css" />
<![endif]-->
目标IE 8和更高
<!--[if gt IE 7]>
<link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->
<!--[if gte IE 8]>
<link rel="stylesheet" type="text/css" href="ie8-and-up.css" />
<![endif]-->
答案 4 :(得分:2)
:color : green\9;
\9
不适用于ie11,但\0
有效!
答案 5 :(得分:1)
我有一个有用的IE 10和11解决方案。脚本检查IE和版本,然后将.ie10或.ie11类附加到标记。
通过这种方式,您可以编写特定的规则,例如.ie10 .something {},只有在浏览器为IE 10或11时才会应用它们。
检查出来,它对于优雅降级很有用,在一些商业网站上进行测试而不是真正的hacky:http://marxo.me/target-ie-in-css
答案 6 :(得分:0)
我用这种方式解决了Internet Explorer中的抓取光标:
.grab_cursor {
cursor: grab;
cursor: -moz-grab;
cursor: -webkit-grab;
cursor: url('../img/cursors/openhand.cur'), url('img/cursors/openhand.cur'), n-resize; /* standard: note the different path for the .cur file */
cursor: url('img/cursors/openhand.cur'), n-resize\9; /* IE 8 and below */
*cursor: url('img/cursors/openhand.cur'), n-resize; /* IE 7 and below */
_cursor: url('img/cursors/openhand.cur'), n-resize; /* IE 6 */
}
在Internet Explorer for Windows(包括版本8)中,如果是 相对URI值在外部样式表文件中指定 基URI被认为是包含该文档的URI的URI 元素而不是声明的样式表的URI 出现。
文件树:
index.html
css/style.css -> here the posted code
img/cursors/openhand.cur
好的参考资料: