스타일시트를 포함하여 사용할 브라우저 조건 목록이 있습니까?

StackOverflow https://stackoverflow.com/questions/46124

  •  09-06-2019
  •  | 
  •  

문제

HTML에서 다음과 같은 작업을 수행하는 사람들을 본 적이 있습니다.

<!--[if IE]>
  <link rel="stylesheet" href="ie.css" type="text/css" />
<![endif]-->

이것은 모든 최신 브라우저에서 작동하며 그러한 종류의 if 문과 작동할 브라우저 유형 목록이 있습니까?

편집하다

감사해요 로스.알아 보는 것이 흥미 롭습니다. gt, lt, gte, & lte.

도움이 되었습니까?

해결책

IE를 제외한 모든 브라우저에서 볼 수 있기 때문에 이는 모든 브라우저에서 작동합니다. <!--IGNORED COMMENT-->.조건절이 포함된 주석은 IE에서만 읽습니다.보세요 이 기사

IE 버전을 지정할 수도 있습니다.예를 들어:

<!--[if IE 8]>
<link rel="stylesheet type="text/css" href="ie8.css" />
<![endif]-->

다른 팁

Javascript를 사용할 수 있는 경우 몇 가지 옵션이 있습니다.

navigator.appName
navigator.appVersion 

링크

또는 다음과 같은 라이브러리를 사용하여 더욱 강력한 것 jQuery.

마지막으로 브라우저감지 QuirksMode의 개체입니다.

브라우저 이름과 버전이 있으면 HTML을 삽입하여 스타일 시트에 연결하거나 다른 태그를 포함할 수 있습니다.

Ross의 답변에 더해 조건부 주석이 있는 Internet Explorer 렌더링 엔진만 대상으로 지정할 수 있습니다.다른 브라우저에는 유사한 구성이 없습니다.예를 들어 Firefox를 대상으로 하는 조건부 주석을 작성할 수 없지만 Internet Explorer에서는 무시됩니다.

위의 예와 동일한 효과를 얻는 방법은 사용자 에이전트 문자열을 스니핑하는 것입니다.그런 다음 해당 브라우저에 적합한 CSS 파일을 제공합니다.때때로 사람들이 호환성을 위해 사용자 에이전트 문자열을 변경하기 때문에 이것은 완벽하지 않습니다.

다른 브라우저를 대상으로 하는 또 다른 방법은 브라우저별 해킹을 활용하는 것입니다.이는 일반적으로 브라우저의 버그에 의존하고 버그가 수정될 수 있기 때문에 특히 불쾌합니다!

내 생각에는 사용자 에이전트 스니핑이 최고의 만능 솔루션입니다.

조건부 주석은 IE(버전 5 이상) 전용입니다.공식 Microsoft 문서는 다음과 같습니다. 여기.이를 사용하려는 경우 가장 좋은 전략은 일반적인 포함 뒤에 외부 스타일시트나 자바스크립트 파일을 조건부로 포함하는 것입니다.즉, IE에서는 IE 관련 코드가 다른 모든 코드보다 우선 적용됩니다.다른 브라우저에서는 코드가 주석으로 처리되고 파서에서 무시됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top