>  기사  >  웹 프론트엔드  >  IE7_Experience Exchange를 위한 CSS 해킹

IE7_Experience Exchange를 위한 CSS 해킹

WBOY
WBOY원래의
2016-05-16 12:09:261091검색

IE7에서는 많은 버그가 수정되었고 일부 선택기에 대한 지원이 추가되었으므로 이제 *html {} 및 html>body {}와 같은 IE 숨기기 또는 표시 해킹이 IE7에서 작동하지 않습니다. CSS Hack은 권장되지 않으며 조건부 주석은 완벽한 필터이지만 조건부 주석은 HTML에만 표시될 수 있으므로 CSS Hack이 여전히 그 자리를 차지합니다. Nanobot은 특히 다음과 같은 IE7용 CSS 해킹을 발견했습니다.

>본문
html*
*+html

이 세 가지 작성 방법 중 처음 두 가지는 불법적인 CSS 작성 방법으로 표준 호환 브라우저에서는 무시되지만 IE7은 그렇게 생각하지 않습니다. >body의 경우 누락된 선택자를 전역 선택자 *로 대체합니다. 즉, *>body로 처리되며, 이러한 현상은 > 선택자뿐만 아니라 +, ~ 선택자에서도 나타납니다. html*의 경우 html과 * 사이에 공백이 없기 때문에 CSS 구문 오류이기도 하지만 IE7에서는 이를 무시하지 않고 여기에 공백이 있다고 잘못 인식합니다. 세 번째 유형 *+html의 경우 IE7은 html 앞의 DTD 선언도 요소라고 생각하므로 이 세 가지 방법 중 이 방법만 합법적인 CSS 작성이므로 유효성 검사기를 통과할 수 있습니다. 따라서 검증은 저자가 권장하는 해킹 사용법이기도 합니다.

마지막으로 저자가 최선의 방법을 제시했습니다.

IE 6 이하
html 요소를 선택하려면 * html {}를 사용하세요.
IE 7 이하
html 요소를 선택하려면 *+html, * html {}를 사용하세요. 7만 해당
html 요소를 선택하려면 **+html {}을 사용하세요.
IE 7 및 최신 브라우저만 해당
html>body {}을 사용하면 body 요소를 선택할 수 있습니다.
최신 브라우저만 해당됩니다. IE 7)
html>/**/body {}를 사용하여 body 요소를 선택합니다.

자세한 내용은 원문을 참조하세요.

IE7용 쉬운 CSS 해킹

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:CSS 팁_경험 교환다음 기사:CSS 팁_경험 교환