首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在某些情况下仅针对Internet Explorer10,如特定于Internet Explorer的CSS或特定于Internet Explorer的JavaScript代码?

问如何在某些情况下仅针对Internet Explorer10,如特定于Internet Explorer的CSS或特定于Internet Explorer的JavaScript代码?
EN

Stack Overflow用户
提问于 2012-03-28 10:21:33
回答 19查看 163.9K关注 0票数 160

如何在某些情况下仅针对Internet Explorer10,如特定于Internet Explorer的CSS或特定于Internet Explorer的JavaScript代码?

我试过了,但不起作用:

代码语言:javascript
复制
<!--[if IE 10]>    <html class="no-js ie10" lang="en"> <![endif]-->
<!--[if !IE]><!--> <html lang="en" class="no-js"> <!--<![endif]-->

10 10忽略条件注释,使用<html lang="en" class="no-js">而不是<html class="no-js ie10" lang="en">。

EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2012-12-19 22:39:28

也许你可以像这样尝试一些jQuery:

代码语言:javascript
复制
if ($.browser.msie && $.browser.version === 10) {
  $("html").addClass("ie10");
}

要使用此方法,您必须包含jQuery迁移库,因为此函数已从主jQuery库中删除。

对我来说挺好的。但肯定不能替代条件注释!

票数 65
EN

Stack Overflow用户

发布于 2013-06-14 09:57:38

IE Standards Support Documentation是一个很好的起点。

以下是如何在JavaScript中定位IE10的方法:

代码语言:javascript
复制
if ("onpropertychange" in document && !!window.matchMedia) {
...
}

下面是如何在CSS中定位IE10的方法:

代码语言:javascript
复制
@media all and (-ms-high-contrast: none) {
...
}

如果需要通过CSS过滤或重置IE11,请参阅另一个问题:How to write a CSS hack for IE 11?

票数 36
EN

Stack Overflow用户

发布于 2012-12-30 08:48:00

这里发布的两个解决方案(稍微做了一些修改)都可以工作:

代码语言:javascript
复制
<!--[if !IE]><!--><script>if(/*@cc_on!@*/false){document.documentElement.className='ie10';}</script><!--<![endif]-->

或

代码语言:javascript
复制
<script>if(Function('/*@cc_on return 10===document.documentMode@*/')()){document.documentElement.className='ie10';}</script>

在css链接之前,您可以在html页面的head标记中包含上述任意一行。然后在css文件中指定您的样式,将"ie10“类作为父类:

代码语言:javascript
复制
.ie10 .myclass1 { }

瞧!--其他浏览器保持不变。而且你不需要jQuery。您可以在这里看到我如何实现它的示例:http://kardash.net。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9900311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档