Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何在样式表中只针对IE(任何版本)?_Css - Fatal编程技术网

Css 如何在样式表中只针对IE(任何版本)?

Css 如何在样式表中只针对IE(任何版本)?,css,Css,我继承了一个项目,有些地方一片混乱。这是其中之一。我只需要针对IE(任何版本) 需要明确的是:在嵌入的样式表中,在不向html中的标记添加ID或类的情况下,仅当用户使用IE时,我需要应用边框样式。我如何才能做到这一点 编辑:找到Firefox的解决方案,编辑问题以反映这一点。Internet Explorer 9及更低版本: 您可以使用条件注释为您想要专门针对的任何版本(或版本组合)加载特定于IE的样式表。如下所示,使用外部样式表 <!--[if IE]> <link re

我继承了一个项目,有些地方一片混乱。这是其中之一。我只需要针对IE(任何版本)

需要明确的是:在嵌入的样式表中,在不向html中的标记添加ID或类的情况下,仅当用户使用IE时,我需要应用边框样式。我如何才能做到这一点


编辑:找到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;
  }
}

你的问题有点让人困惑。你是指供应商公关吗