스타일 시트에서 IE (모든 버전) 만 타겟팅하는 방법은 무엇입니까?
나는 상속 된 프로젝트를 가지고 있으며 완전히 혼란스런 곳이 있습니다. 이것은 그들 중 하나입니다. IE (모든 버전) 만 타겟팅해야합니다.
#nav li {
float: left;
height: 54px;
background: #4f5151;
display: table;
border-left: 1px solid grey;
}
명확하게 : 임베디드 스타일 시트 내부 에서 HTML의 태그에 ID 또는 클래스를 추가 하지 않고 사용자가 IE를 사용하는 경우 에만 테두리 스타일을 적용해야합니다 . 어떻게해야합니까?
편집 : Firefox 솔루션을 찾았습니다.
Internet Explorer 9 이하 : 조건부 주석을 사용하여 아래에서 외부 스타일 시트를 사용하여 구체적으로 타겟팅하려는 모든 버전 (또는 버전의 조합)에 대해 IE 특정 스타일 시트를로드 할 수 있습니다.
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="all-ie-only.css" />
<![endif]-->
그러나 버전 10부터는 조건부 주석이 더 이상 IE에서 지원되지 않습니다.
Internet Explorer 10 & 11 : IE 10 및 11 관련 CSS 스타일을 배치하는 -ms-high-contrast를 사용하여 미디어 쿼리를 만듭니다. -ms-high-contrast는 Microsoft에 따라 다르며 (IE 10 이상에서만 사용 가능) Internet Explorer 10 이상에서만 구문 분석됩니다.
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS styles go here */
}
Microsoft Edge 12 : @supports 규칙 사용 가능 이 규칙에 대한 모든 정보가 포함 된 링크는 다음과 같습니다.
@supports (-ms-accelerator:true) {
/* IE Edge 12+ CSS styles go here */
}
인라인 규칙 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 (IE6에서 IE11 +까지), Firefox, Chrome 및 Safari (편집 : Opera 추가)에 대해 수행 할 수있는 미디어 쿼리 모음입니다.
IE 6
* html .ie6 { property: value; }
또는
.ie6 { _property: value; }
IE 7
*+html .ie7 { property: value; }
또는
*:first-child+html .ie7 { property: value; }
IE 6 및 7
@media screen\9 {
.ie67 {
property: value;
}
}
또는
.ie67 { *property: value; }
또는
.ie67 { #property: value; }
IE 6, 7 및 8
@media \0screen\,screen\9 {
.ie678 {
property: value;
}
}
IE 8
html>/**/body .ie8 { property: value; }
또는
@media \0screen {
.ie8 {
property: value;
}
}
IE 8 표준 모드
.ie8 { property /*\**/: value\9 }
IE 8,9 및 10
@media screen\0 {
.ie8910 {
property: value;
}
}
IE 9 만
@media screen and (min-width:0\0) and (min-resolution: .001dpcm) {
// IE9 CSS
.ie9{
property: value;
}
}
IE 9 이상
@media screen and (min-width:0\0) and (min-resolution: +72dpi) {
// IE9+ CSS
.ie9up {
property: value;
}
}
IE 9 및 10
@media screen and (min-width:0\0) {
.ie910 {
property: value\9;
} /* backslash-9 removes ie11+ & old Safari 4 */
}
IE 10 만
_:-ms-lang(x), .ie10 { property: value\9; }
IE 10 이상
_:-ms-lang(x), .ie10up { property: value; }
또는
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.ie10up {
property:value;
}
}
IE 11 이상
_:-ms-fullscreen, :root .ie11up { property: value; }
Firefox (모든 버전)
@-moz-document url-prefix() {
.ff {
color: red;
}
}
Firefox (Quantum Only / Stylo)
@-moz-document url-prefix() {
@supports (animation: calc(0s)) {
/* Stylo */
.ffStylo {
property: value;
}
}
}
Firefox 레거시 (Stylo 이전)
@-moz-document url-prefix() {
@supports not (animation: calc(0s)) {
/* Gecko */
.ffGecko {
property: value;
}
}
}
웹킷 (Chrome & Safari, 모든 버전)
@media screen and (-webkit-min-device-pixel-ratio:0) {
property: value;
}
구글 크롬 (29+)
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm) {
.chrome {
property: value;
}
}
사파리 (7.1+)
_::-webkit-full-page-media, _:future, :root .safari_only {
property: value;
}
사파리 (6.1에서 10.0)
@media screen and (min-color-index:0) and(-webkit-min-device-pixel-ratio:0) {
@media {
.safari6 {
color:#0000FF;
background-color:#CCCCCC;
}
}
}
사파리 (10.1+)
@media not all and (min-resolution:.001dpcm) {
@media {
.safari10 {
color:#0000FF;
background-color:#CCCCCC;
}
}
}
오페라 (12+)
@media (min-resolution: .001dpcm) {
_:-o-prefocus, .selector {
.opera12 {
color:#0000FF;
background-color:#CCCCCC;
}
}
}
오페라 (11 이하)
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {
.opera11 {
color:#0000FF;
background-color:#CCCCCC;
}
}
추가 정보 또는 추가 미디어 쿼리를 보려면 browserhacks.com 웹 사이트를 방문 하거나이 주제에 대해 쓴 이 블로그 게시물 을 확인하십시오 .
사용할 때 SASS
내가 사용하는 (2) 다음은 @media queries
IE 6 ~ 10 및 EDGE를 대상으로합니다.
@media screen\9
@import ie_styles
@media screen\0
@import ie_styles
http://keithclark.co.uk/articles/moving-ie-specific-css-into-media-blocks/
Edit
I also target later versions of EDGE using @support queries
(add as many as you need)
@supports (-ms-ime-align:auto)
@import ie_styles
@supports (-ms-accelerator:auto)
@import ie_styles
https://jeffclayton.wordpress.com/2015/04/07/css-hacks-for-windows-10-and-spartan-browser-preview/
Another working solution for IE specific styling is
<html data-useragent="Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)">
And then your selector
html[data-useragent*='MSIE 10.0'] body .my-class{
margin-left: -0.4em;
}
After experiencing issues with sites breaking on Edge when using High Contrast Mode, I came across the following work by Jeff Clayton:
https://browserstrangeness.github.io/css_hacks.html
It's a crazy, weird media query, but those are easier to use in Sass:
@media screen and (min-width:0\0) and (min-resolution:+72dpi), \0screen\,screen\9 {
.selector { rule: value };
}
This targets IE versions expect for IE8.
Or you can use:
@media screen\0 {
.selector { rule: value };
}
Which targets IE8-11, but also triggers FireFox 1.x (which for my use case, doesn't matter).
Right now I'm testing with print support, and this seems to be working okay:
@media all\0 {
.selector { rule: value };
}
참고URL : https://stackoverflow.com/questions/28417056/how-to-target-only-ie-any-version-within-a-stylesheet
'Programing' 카테고리의 다른 글
GROUP_CONCAT ()에서 MySQL DISTINCT (0) | 2020.05.30 |
---|---|
파이썬 디버깅 팁 (0) | 2020.05.30 |
Apache mod_rewrite를 디버깅하는 방법 (0) | 2020.05.30 |
정수를 해당 문자로 변환하십시오. 여기서 0 => a, 1 => b 등 (0) | 2020.05.30 |
SSMS에서 ntext 또는 nvarchar (max)의 모든 텍스트를 어떻게 봅니까? (0) | 2020.05.30 |