문제

  • CSS에는 @Import가 있습니다.
  • IE6은 이해합니다 *html selector 해킹, 맞습니까?

그들처럼 결합 할 수 있습니까?

//*html @import url(ie6hacks.css);

또는 아마도

//*html { @import url(ie6hacks.css); }

?

좋은 브라우저는 이것을 건너 뛰어야합니다. 여전히 IE6에서 작동합니까? 솔루션으로 어떻게 보입니까? 나는 그것이 일반적인 CSS처럼 못 생겼다는 것을 분명히 볼 수 있습니다.

도움이 되었습니까?

해결책

그들처럼 결합 할 수 있습니까?

* html @import url(ie6hacks.css);

아니요. @import와 같은 AT-Rules는 선택기가 아니므로 다른 선택기와 결합 할 수 없습니다.

예를 들어 AT-Rules가 해킹으로 작동하는 방법이 있습니다.

@import url(/* no! */iehacks.css);

IE6/7에 의해로드되지만 다른 브라우저는 아닙니다. 그러나 나는 그것을 사용하지 않는 것이 좋습니다. 이런 종류의 것은 정말 깨지기 쉬울 수 있습니다. 이 특정 예는 또한 유효하지 않은 CS입니다.

Daniel이 말했듯이, 해킹 용 별도의 .CSS 파일을 원한다면 최상의 접근 방식은 조건부로 포함 된 링크 태그입니다. "* html"의 아름다움은 동일한 스타일 시트에 해킹 규칙을 넣을 수 있다는 것입니다. 어쨌든 별도의 스타일 시트를 가지고 있다면 이점이 없습니다.

IE6의 IMO“* HTML”은 오늘날 사용하기에 여전히 합법적 인 유일한 해킹입니다. 모든 박스 모델 재료는 IE5와 함께 죽었습니다. IE6 Quirks 모드를 사용하지 않는다고 가정하고 다른 브라우저, 심지어 IE7조차도 간단한 해킹으로 공격 할 수 없을 정도로 너무 좋습니다. 그들을 대상으로 할 수있는 몇 가지 해킹은 너무 복잡하거나 깨지기 쉬운/유효하지 않습니다.

(그리고 단순화 된 박스 모델 해킹의 발명가로서, 나는 그들에게 풍성한 좋은 승마를 말합니다.)

다른 팁

필요한 CS 만 포함하여 조건부 의견을 사용할 수있을 때 왜 그 엉뚱한 해킹에 귀찮게 하는가?

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

일부 리소스 :

실제로 @Import를 사용해야하는 경우 IE가 @import 규칙에 대한 사양을 따르지 않는다는 사실을 활용할 수 있습니다. 일반적으로 스타일 시트 또는 스타일 태그에서 첫 번째 생각이어야하거나 완전히 무시됩니다. 그러나 IE6 (적어도 테스트했을 때)은 신경 쓰지 않는 것 같습니다. 그 라인을 따라 다음을 수행 할 수 있습니다.

<style type="text/css">
.NotARealClass { }

@import url("ie-style.css");
</style>

FF3 (IE-Style.css를로드하지 못하는 곳)과 IE6 (어쨌든로드 할 때) 외에이 방법을 테스트하지 않았습니다. 귀하의 마일리지가 다를 수 있습니다.

불행히도 *html 해킹은 다른 스타일 시트를 가져 오는 데 사용할 수 없습니다.

여기에 기사가 있습니다 해킹과 IE 특정 버그를 공격하는 데 유용한 다른 해킹을 설명합니다.

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