Валидатор CSS, в котором вы можете отключить сообщения об ошибках для каждого файла

Существует ли валидатор CSS, где можно было бы намекнуть внутри файла, например, jslint, какие правила валидации действуют, а какие не действуют внутри этого файла или правила.

Я пытался

  • Валидатор W3C

  • csslint

Ни один из них не предлагает эту функциональность и всегда приводит к ошибкам проверки разметки, которую нужно использовать (взломы IE, расширения поставщиков).

Чтобы прояснить ситуацию дальше: я хотел бы использовать этот валидатор в ловушке фиксации, чтобы поймать CSS, который не соответствует политике проекта. Меня не очень интересует, думают ли люди, хороши или плохи приставки производителей.


person Mikko Ohtamaa    schedule 22.05.2012    source источник
comment
Я хотел бы использовать этот валидатор в ловушке фиксации, чтобы поймать CSS, который не соответствует политике проекта. Тогда вы искали не те инструменты, потому что такие инструменты, как W3C, прямо говорят, что префиксы поставщиков не входят в стандарт.   -  person BoltClock    schedule 22.05.2012
comment
Это не тот случай. jigsaw.w3.org/css-validator - см. Дополнительные параметры - Расширения поставщика - По умолчанию.   -  person Mikko Ohtamaa    schedule 22.05.2012
comment
См. Мой ответ на комментарий balpha в моем ответе, а также первый абзац ссылки в моем ответе.   -  person BoltClock    schedule 22.05.2012
comment
@BoltClock, можешь ли ты указать мне направление правильных инструментов? Я хочу игнорировать проблемы, касающиеся свойств с префиксом поставщика из-за реальных ограничений.   -  person Mikko Ohtamaa    schedule 22.05.2012


Ответы (1)


Я не верю, что существует достаточно сложный инструмент, чтобы найти все таблицы стилей, на которые ссылается ваша страница, и предложить индивидуальные правила проверки для каждой таблицы стилей.

Что я всегда делаю, так это изолирую свои взломы IE в отдельном файле, скрытом в условном комментарии, поэтому валидатор никогда их не видит, даже если я передаю URI своей страницы, которая ссылается на все ее таблицы стилей.

Для префиксов поставщиков вы можете указать валидатору W3C выдавать предупреждения вместо ошибок, хотя вы не сможете получить это просто игнорировать их, потому что они просто не проверяют.

person BoltClock    schedule 22.05.2012
comment
Привет. Спасибо за ваш ответ. Хотя я использовал IE в качестве примера, у меня были другие проблемы с валидатором W3c, которые нельзя обойти w3.org/Bugs/Public/show_bug.cgi?id=16923 Таким образом, я ищу альтернативу проверки CSS, которая обеспечит гибкость, достаточную для серьезного использования. - person Mikko Ohtamaa; 22.05.2012
comment
Также csslint выполняет проверки, которые напрямую не связаны с валидностью стиля, например, как используются селекторы. W3C не проводит таких проверок. Эти проверки полезны, но иногда вы хотите их отключить. - person Mikko Ohtamaa; 22.05.2012
comment
@Mikko Ohtamaa: Хм, а зачем ты это записал? Недопустимые префиксы поставщика не ошибка. Префиксы поставщиков предназначены для экспериментальных реализаций вещей, которые еще не стандартизированы. Вы не можете реально ожидать, что эти вещи подтвердятся. - person BoltClock; 22.05.2012
comment
@Mikko Ohtamaa: Кроме того, валидатор W3C не выполняет проверки, которые не имеют никакого отношения к действительности документа. В этом весь смысл валидатора. Например, только потому, что вы используете селекторы идентификаторов (которые CSS Lint ненавидит), не делает ваш файл CSS недействительным, потому что селекторы идентификаторов являются частью стандарта. - person BoltClock; 22.05.2012
comment
С другой стороны, свойства с префиксом не являются частью стандарта, поэтому никогда не будут проверяться. Это факт жизни, и, учитывая распространение префиксов поставщиков и злоупотребление ими, проверка становится еще менее актуальной. - person BoltClock; 22.05.2012
comment
w3.org/TR/CSS21/syndata.html#vendor-keywords ‹- префиксы поставщиков являются частью стандарта, в некотором смысле. - person balpha; 22.05.2012
comment
@balpha: префиксы поставщиков упоминаются в грамматике, поэтому парсеры могут следовать им и использовать префиксы соответственно, но это не делает сами свойства с префиксом действительными. Если бы это было так, то теоретически можно было бы проверить любой префикс. И давайте не будем вдаваться в синтаксические несоответствия, связанные с префиксами (известный пример: -moz-border-radius). - person BoltClock; 22.05.2012
comment
Да, в каком-то смысле я имею в виду именно это. Я считаю, что, по крайней мере, спорный вопрос, следует ли им подтверждать. Я согласен с вами, что они не должны этого делать - и что все это в первую очередь беспорядок :) - person balpha; 22.05.2012