2009-08-30 4 views
7

W3C CSS Validator를 사용하여 내 사이트의 CSS를 검증하려했습니다. 불행하게도, YUI 프레임 워크의 reset-min.css는 "{* font-size : 100 %;"문자열에 구문 분석 오류를 생성했습니다.YUI 재설정 CSS가 유효성 검사를 통과하지 못하는 이유는 무엇입니까?

경고 :

The validator results.

추가 조사에 나는 파이어 폭스의 오류 콘솔에 다음과 같은 오류 발견 예상 선언을하지만 발견 '*'. 다음 선언으로 건너 뛰었습니다.

'*'의 의미에 대한 설명을 찾을 수 없으며이 인기있는 재설정 CSS의 문제에 대한 참조도 찾을 수 없습니다.

무엇이 누락 되었습니까?

답변

9

IE7 이하의 핵입니다. IE7 이하에서는 별표를 건너 뛰고 정상적으로 CSS를 구문 분석합니다. 다른 브라우저는 전체 규칙을 무시합니다.

예를 들어, CSS는 마지막으로 선언 된 버전의 규칙을 사용하므로 다음을 수행하면 IE7 이하는 font-size을 113 %로 사용하지만 다른 브라우저는 단락에 대해 font-size을 100 % 사용합니다.

p { font-size: 100%; *font-size: 113%; } 

webdevout.net에 대한 정보가 조금 더 있습니다.

개인적으로 IE의 깨짐을 해결하기 위해 이러한 해킹을 사용할 수 있다고 생각합니다. 명백하게, Yahoo! 같은 방식으로 느낀다.

+4

나는 순수 주의자는 아니지만, 여전히 가비지를 조건부 IE에 던지기를 더 좋아한다. (유효성보다 추한 것에 더 관심이있다.) –

6

아마 IE 호환성 해킹입니다.

일부 브라우저 (특히 IE 6)는 무시하고 다른 브라우저에서는 볼 수없는 많은 CSS 구문 오류가 있습니다. 일부 CSS 파일은 오류를 사용하여 특정 브라우저에서 볼 수있는 규칙과 다른 브라우저에서 볼 수없는 규칙을 만듭니다.

편집 : 전체 목록은 here을 참조하십시오. 특정 경우 IE 7 이하에서만 해당 규칙이 표시됩니다.

+2

그래, *를 사용하여 선언을 잡고 IE가없는 조건부 CSS 파일에 * 넣으면 유효성을 검사 할 수 있습니다. –

관련 문제