스타일시트를 포함하여 사용할 브라우저 조건 목록이 있습니까?
-
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]-->
다른 팁
Ross의 답변에 더해 조건부 주석이 있는 Internet Explorer 렌더링 엔진만 대상으로 지정할 수 있습니다.다른 브라우저에는 유사한 구성이 없습니다.예를 들어 Firefox를 대상으로 하는 조건부 주석을 작성할 수 없지만 Internet Explorer에서는 무시됩니다.
위의 예와 동일한 효과를 얻는 방법은 사용자 에이전트 문자열을 스니핑하는 것입니다.그런 다음 해당 브라우저에 적합한 CSS 파일을 제공합니다.때때로 사람들이 호환성을 위해 사용자 에이전트 문자열을 변경하기 때문에 이것은 완벽하지 않습니다.
다른 브라우저를 대상으로 하는 또 다른 방법은 브라우저별 해킹을 활용하는 것입니다.이는 일반적으로 브라우저의 버그에 의존하고 버그가 수정될 수 있기 때문에 특히 불쾌합니다!
내 생각에는 사용자 에이전트 스니핑이 최고의 만능 솔루션입니다.
조건부 주석은 IE(버전 5 이상) 전용입니다.공식 Microsoft 문서는 다음과 같습니다. 여기.이를 사용하려는 경우 가장 좋은 전략은 일반적인 포함 뒤에 외부 스타일시트나 자바스크립트 파일을 조건부로 포함하는 것입니다.즉, IE에서는 IE 관련 코드가 다른 모든 코드보다 우선 적용됩니다.다른 브라우저에서는 코드가 주석으로 처리되고 파서에서 무시됩니다.