在IE10中使用html检测IE

Ram*_*eef -2 html css internet-explorer

我有这部分语法

<!DOCTYPE html>
<!--[if IE]> <html lang="en" class="ie">  <![endif]-->
<!--[if IE 8 ]>    <html lang="en" class="ie8">    <![endif]-->
<!--[if IE 9 ]>    <html lang="en" class="ie9">    <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html lang="en">
<!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

它工作正常进行IE 8IE 9,但不适合IE.有什么建议?

我有一些css我想在浏览器IE一般时应用的.

例:

.ie #nav ul#top-nav li.top-nav-item a.top-nav-link {
                width: 167px;
            }
Run Code Online (Sandbox Code Playgroud)

编辑 我有一个TypeKit目前在IE中不起作用的.我想做一些css调整,所以我的页面看起来很好,IE直到找到TypeKit问题的解决方案

Nie*_*jes 6

您可能期望它触发IE10和IE11,但它不会,因为在IE10 中完全删除了对条件注释的支持.

http://msdn.microsoft.com/en-us/library/ie/hh801214(v=vs.85).aspx:

Internet Explorer 10标准和怪癖模式中已删除对条件注释的支持,以提高互操作性并符合HTML5.这意味着条件注释现在被视为常规注释,就像在其他浏览器中一样.

由于IE10 +确实是非常符合标准的浏览器,所以不应该再像这样做浏览器嗅探了.然而,如果对于某些神秘的原因,你真的真的需要在IE特定行为补丁,你应该能够使用JavaScript来解析这样做navigator.appVersion对的出现Trident/.它当然不是完全可靠的,就像任何一种嗅闻一样.

为了更好和更可靠的浏览器特定行为,请考虑包括Modernizr专门测试某些功能.