根据IE9中的开发者工具这个CSS:
<link rel="stylesheet" type="text/css" href="one.css"> /*meyers reset*/
<link rel="stylesheet" type="text/css" href="two.css"> /*the main one*/
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="IE.css">
<![endif]-->
是成功的,因为它导致<link rel="stylesheet" type="text/css" href="IE.css">
被识别/包括在内。但是样式表或其任何声明都没有显示在工具/样式面板中。它的声明都不起作用。
怎么会这样?
我已经通过改变例如color
声明来测试样式表是不起作用的。
IE开发人员工具只显示主要样式表qazxsw poi和meyer重置qazxsw poi工作
two.css
实际上没有列出,但CSS面板没有自动换行(仅适用于main / html面板),水平滚动条没有到达声明的末尾(!)所以实际上没有空间来显示文件名。
我认为它正在逐步淘汰,现在只有旧版本的IE支持。我最近发现了这个css片段,媒体查询中的所有内容都只出现在IE浏览器中。
编辑:我不确定你是否应该担心IE9,因为甚至微软都不再支持IE9了。现在版本高达11!
one.css
有条件的评论在IE 9中消失了
这将只在IE浏览器中工作
one.css
这将无法在IE中隐藏,因此您可以添加主要的CSS文件。
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* Anything in here only occurs in IE */
}
**这是Paul Irish以IE浏览器为目标的方式**
<!--[if IE 9]><link type="text/css" rel="stylesheet" href=“ie.css" /><![endif]-->
在HTML5网页上使用HTML5 Shiv很简单;你可以安装或不安装图书馆。下面是一个如何有条件地包含仅适用于版本低于9的Internet Explorer浏览器的HTML5 Shiv的示例。在任何样式表之后,脚本应该包含在页面元素中:
<!--[if !IE]--><link type="text/css" rel="stylesheet" href=“one.css" /><!--[endif]-->
<!--[if !IE]--><link type="text/css" rel="stylesheet" href="two.css" /><!--[endif]-->
有条件的评论在IE 10中消失了
使用一小段JavaScript将用户代理添加到元素
JS:
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
<!--[if IE 7 ]> <html class="ie7"> <![endif]-->
<!--[if IE 8 ]> <html class="ie8"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html> <!--<![endif]-->
IE 10的用户代理字符串是:
Mozilla / 5.0(兼容; MSIE 10.0; Windows NT 6.2; Trident / 6.0)
这将导致:
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
然后你可以像:
CSS:
var b = document.documentElement;
b.setAttribute('data-useragent', navigator.userAgent);
b.setAttribute('data-platform', navigator.platform );
在<html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)">
上查看此信息
html[data-useragent*='MSIE 10.0'] h1 {
color: blue;
}