Почему YUI Reset CSS не проходит валидацию? - PullRequest
7 голосов
/ 31 августа 2009

Я попытался проверить CSS моего сайта с помощью W3C CSS Validator. К сожалению, команда reset-min.css из инфраструктуры YUI вызвала ошибку разбора строки "{* font-size: 100%;".

Результаты проверки.

При дальнейшем исследовании я заметил следующую ошибку на консоли ошибок Firefox:

Предупреждение: ожидаемая декларация, но найдена '*'. Пропущено до следующего объявления.

Я не смог найти ни объяснения значения '*', ни ссылок на проблему в этом популярном сбросе CSS.

Что мне не хватает?

Ответы [ 2 ]

9 голосов
/ 31 августа 2009

Это взлом для IE7 и ниже. IE7 и ниже пропустит звездочку и продолжит анализ CSS как обычно. Другие браузеры будут просто игнорировать все правило.

Например, поскольку CSS будет использовать последнюю объявленную версию правила, выполнение следующих действий приведет к тому, что IE7 и ниже будут использовать font-size в 113%, в то время как другие браузеры используют font-size в 100% для абзацев .

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

Немного больше информации на webdevout.net .

Лично я считаю, что такие хаки допустимо использовать в целях обхода взломанного IE. Судя по всему, Yahoo! чувствует себя так же.

6 голосов
/ 31 августа 2009

Вероятно, это взлом совместимости с IE.

Существует много синтаксических ошибок CSS, которые некоторые браузеры (особенно IE 6) будут игнорировать, а другие - нет. Некоторые CSS-файлы используют ошибки, чтобы создать правило, которое один браузер увидит, а другой не увидит.

РЕДАКТИРОВАТЬ : Полный список см. здесь . В вашем конкретном случае это правило будет видно только в IE 7 или ниже.

...