Css 如何在样式表中只针对IE(任何版本)?
我继承了一个项目,有些地方一片混乱。这是其中之一。我只需要针对IE(任何版本) 需要明确的是:在嵌入的样式表中,在不向html中的标记添加ID或类的情况下,仅当用户使用IE时,我需要应用边框样式。我如何才能做到这一点Css 如何在样式表中只针对IE(任何版本)?,css,Css,我继承了一个项目,有些地方一片混乱。这是其中之一。我只需要针对IE(任何版本) 需要明确的是:在嵌入的样式表中,在不向html中的标记添加ID或类的情况下,仅当用户使用IE时,我需要应用边框样式。我如何才能做到这一点 编辑:找到Firefox的解决方案,编辑问题以反映这一点。Internet Explorer 9及更低版本: 您可以使用条件注释为您想要专门针对的任何版本(或版本组合)加载特定于IE的样式表。如下所示,使用外部样式表 <!--[if IE]> <link re
编辑:找到Firefox的解决方案,编辑问题以反映这一点。Internet Explorer 9及更低版本: 您可以使用条件注释为您想要专门针对的任何版本(或版本组合)加载特定于IE的样式表。如下所示,使用外部样式表
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->
Microsoft Edge 12:可以使用@supports规则
内联规则IE8检测 我还有一个选择,但它只是检测IE8及以下版本
/* For IE css hack */
margin-top: 10px\9 /* apply to all ie from 8 and below */
*margin-top:10px; /* apply to ie 7 and below */
_margin-top:10px; /* apply to ie 6 and below */
正如您为嵌入样式表指定的。我认为您需要对以下版本使用媒体查询和条件注释。Internet Explorer 9及更低版本:
/* For IE css hack */
margin-top: 10px\9 /* apply to all ie from 8 and below */
*margin-top:10px; /* apply to ie 7 and below */
_margin-top:10px; /* apply to ie 6 and below */
您可以使用条件注释为您想要专门针对的任何版本(或版本组合)加载特定于IE的样式表。如下所示,使用外部样式表
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->
Microsoft Edge 12:可以使用@supports规则
内联规则IE8检测 我还有一个选择,但它只是检测IE8及以下版本
/* For IE css hack */
margin-top: 10px\9 /* apply to all ie from 8 and below */
*margin-top:10px; /* apply to ie 7 and below */
_margin-top:10px; /* apply to ie 6 and below */
正如您为嵌入样式表指定的。我认为您需要对以下版本使用媒体查询和条件注释。当使用
SASS
时,我使用以下2@media querys
以IE 6-10&EDGE为目标
/* For IE css hack */
margin-top: 10px\9 /* apply to all ie from 8 and below */
*margin-top:10px; /* apply to ie 7 and below */
_margin-top:10px; /* apply to ie 6 and below */
@media screen\9
@import ie_styles
@media screen\0
@import ie_styles
编辑
我还使用@support querys
(根据需要添加多个)针对EDGE的更高版本
当使用
SASS
时,我使用以下2个@媒体查询
以IE 6-10和EDGE为目标
@media screen\9
@import ie_styles
@media screen\0
@import ie_styles
编辑
我还使用@support querys
(根据需要添加多个)针对EDGE的更高版本
另一个针对IE特定样式的有效解决方案是
<html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)">
IE特定样式的另一个有效解决方案是
<html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)">
下面是一组媒体查询,您可以对任何版本的Internet Explorer(从IE6到IE11+)、Firefox、Chrome和Safari(编辑:还添加了Opera)进行查询 IE 6
* html .ie6 { property: value; }
或
IE 7
*+html .ie7 { property: value; }
@media screen\9 {
.ie67 {
property: value;
}
}
或
IE 6和7
*+html .ie7 { property: value; }
@media screen\9 {
.ie67 {
property: value;
}
}
或
或
即6、7和8
@media \0screen\,screen\9 {
.ie678 {
property: value;
}
}
html>/**/body .ie8 { property: value; }
IE 8
@media \0screen\,screen\9 {
.ie678 {
property: value;
}
}
html>/**/body .ie8 { property: value; }
或
IE 8标准模式
.ie8 { property /*\**/: value\9 }
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
// IE9+ CSS
.ie9up {
property: value;
}
}
_:-ms-lang(x), .ie10up { property: value; }
即8、9和10
@media screen\0 {
.ie8910 {
property: value;
}
}
@media screen and (min-width:0\0) {
.ie910 {
property: value\9;
} /* backslash-9 removes ie11+ & old Safari 4 */
}
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) {
@media {
.safari6 {
color:#0000FF;
background-color:#CCCCCC;
}
}
}
仅限IE 9
@media screen and (min-width:0\0) and (min-resolution: .001dpcm) {
// IE9 CSS
.ie9{
property: value;
}
}
_:-ms-lang(x), .ie10 { property: value\9; }
IE 9及以上版本
.ie8 { property /*\**/: value\9 }
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
// IE9+ CSS
.ie9up {
property: value;
}
}
_:-ms-lang(x), .ie10up { property: value; }
IE 9和10
@media screen\0 {
.ie8910 {
property: value;
}
}
@media screen and (min-width:0\0) {
.ie910 {
property: value\9;
} /* backslash-9 removes ie11+ & old Safari 4 */
}
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) {
@media {
.safari6 {
color:#0000FF;
background-color:#CCCCCC;
}
}
}
仅限IE 10
@media screen and (min-width:0\0) and (min-resolution: .001dpcm) {
// IE9 CSS
.ie9{
property: value;
}
}
_:-ms-lang(x), .ie10 { property: value\9; }
IE 10及以上
.ie8 { property /*\**/: value\9 }
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
// IE9+ CSS
.ie9up {
property: value;
}
}
_:-ms-lang(x), .ie10up { property: value; }
或
IE 11(及以上)
Firefox(任何版本)
Firefox(仅限Quantum/Stylo)
Firefox传统版(Stylo之前)
Webkit(Chrome&Safari,任何版本)
谷歌浏览器(29+)
Safari(7.1+)
Safari(从6.1到10.0)
Safari(10.1+)
歌剧院(12+)
歌剧院(11岁及以下)
有关更多信息或其他媒体查询,请访问网站和/或查看我在本主题中所写的内容。以下是一组媒体查询,可用于任何版本的Internet Explorer(从IE6到IE11+)、Firefox、Chrome和Safari(编辑:还添加了Opera) IE 6
* html .ie6 { property: value; }
或
IE 7
*+html .ie7 { property: value; }
@media screen\9 {
.ie67 {
property: value;
}
}
或
IE 6和7
*+html .ie7 { property: value; }
@media screen\9 {
.ie67 {
property: value;
}
}
或
或
即6、7和8
@media \0screen\,screen\9 {
.ie678 {
property: value;
}
}
html>/**/body .ie8 { property: value; }
IE 8
@media \0screen\,screen\9 {
.ie678 {
property: value;
}
}
html>/**/body .ie8 { property: value; }
或
IE 8标准模式
.ie8 { property /*\**/: value\9 }
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
// IE9+ CSS
.ie9up {
property: value;
}
}
_:-ms-lang(x), .ie10up { property: value; }
即8、9和10
@media screen\0 {
.ie8910 {
property: value;
}
}
@media screen and (min-width:0\0) {
.ie910 {
property: value\9;
} /* backslash-9 removes ie11+ & old Safari 4 */
}
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) {
@media {
.safari6 {
color:#0000FF;
background-color:#CCCCCC;
}
}
}
仅限IE 9
@media screen and (min-width:0\0) and (min-resolution: .001dpcm) {
// IE9 CSS
.ie9{
property: value;
}
}
_:-ms-lang(x), .ie10 { property: value\9; }
IE 9及以上版本
.ie8 { property /*\**/: value\9 }
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
// IE9+ CSS
.ie9up {
property: value;
}
}
_:-ms-lang(x), .ie10up { property: value; }
IE 9和10
@media screen\0 {
.ie8910 {
property: value;
}
}
@media screen and (min-width:0\0) {
.ie910 {
property: value\9;
} /* backslash-9 removes ie11+ & old Safari 4 */
}
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) {
@media {
.safari6 {
color:#0000FF;
background-color:#CCCCCC;
}
}
}
仅限IE 10
@media screen and (min-width:0\0) and (min-resolution: .001dpcm) {
// IE9 CSS
.ie9{
property: value;
}
}
_:-ms-lang(x), .ie10 { property: value\9; }
IE 10及以上
.ie8 { property /*\**/: value\9 }
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
// IE9+ CSS
.ie9up {
property: value;
}
}
_:-ms-lang(x), .ie10up { property: value; }
或
IE 11(及以上)
Firefox(任何版本)
Firefox(仅限Quantum/Stylo)
Firefox传统版(Stylo之前)
Webkit(Chrome&Safari,任何版本)
谷歌浏览器(29+)
Safari(7.1+)
Safari(从6.1到10.0)
Safari(10.1+)
歌剧院(12+)
歌剧院(11岁及以下)
有关更多信息或其他媒体查询,请访问网站和/或查看我在本主题中所写的内容。在使用高对比度模式时遇到网站边缘断裂的问题后,我遇到了Jeff Clayton的以下工作: 这是一个疯狂、怪异的媒体查询,但在Sass中更容易使用:
@media screen and (min-width:0\0) and (min-resolution:+72dpi), \0screen\,screen\9 {
.selector { rule: value };
}
这是针对IE8以外的IE版本
或者您可以使用:
@media screen\0 {
.selector { rule: value };
}
它的目标是IE8-11,但也会触发Firefox1.x(对于我的用例来说,这并不重要)
现在我正在使用打印支持进行测试,这似乎可以正常工作:
@media all\0 {
.selector { rule: value };
}
在使用高对比度模式时遇到网站边缘断裂的问题后,我遇到了Jeff Clayton的以下工作: 这是一个疯狂、怪异的媒体查询,但在Sass中更容易使用:
@media screen and (min-width:0\0) and (min-resolution:+72dpi), \0screen\,screen\9 {
.selector { rule: value };
}
这是针对IE8以外的IE版本
或者您可以使用:
@media screen\0 {
.selector { rule: value };
}
它的目标是IE8-11,但也会触发Firefox1.x(对于我的用例来说,这并不重要)
现在我正在使用打印支持进行测试,这似乎可以正常工作:
@media all\0 {
.selector { rule: value };
}
为了仅在我的样式表中针对IE,我使用以下Sass Mixin:
@mixin ie-only {
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
@content;
}
}
为了仅在我的样式表中针对IE,我使用以下Sass Mixin:
@mixin ie-only {
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
@content;
}
}
你的问题有点让人困惑。你是指供应商公关吗