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 요소를 선택합니다.