Pull to refresh

Comments 45

валидная css — миф, не стоит заморачиваться
копнём глубже: нужна ли вобще валидация?
нужен ли css? нужен ли вам вообще?
Не понимаю, к чему этот вопрос?
Тема поста: нужна ли валидация css? Её можно расширить до того, нужна ли вобще полная валидация документа наперекор кросс-браузерности?
приведите пример, в котором нельзя валидно сверстать кросс-браузерно? (ещё раз повторюсь, отдельные ие-стили валидировать в любом случае бессмысленно, поскольку у них и спецификации другие)
уже снизу говорили про -moz (ИЕшные выносятся в одтельный файл). Хотя при большом желании можно везде выкрутиться. В любом случае, можно от чего-то отказаться. Опять же, что даёт валидность (кроме гордости) в случае, когда всё правильно работает кроссбраузерно? Я не хочу откидывать валидность как что-то ненужное. Просто стоит ли над этим заморачиваться?
Валидный html один из критериев того что сайт сделан по стандартам, и начинается он с того что вы пишете doctype.
А валидного css нет, поскольку вы нигде не указываете версию, плюс у разных браузеров есть уникальные фишки, без которых иногда не обойтись (та же opacity) но валидацию они не проходят.
Здесь, я думаю, немного другая тонкость. Что документ надо писать по стандарту - это да, как правило. Но могут быть отступления от правил для внесения хака, которая будет ломать валидность. Вот тогда и наступает момент размышления: ломать или пробовать решить через какую-то задницу :)
Парадокс, но большинство хаков проходят валидность. Если, конечно, не совсем топорные вида _width.
Если вы про html, то валидное решение можно найти всегда и как правило оно вовсе не через задницу.
Топорные хаки - это жесть. Но иногда иного способа нет или слишком закручено получается, что при малейшем измененни хак стаёт нерабочим. Кстати, _width в 7 IE уже не проходит, вместо него можно -width.
Про html я загнул, да, потому что обойти там зачастую весьма просто.
вы путаете теплое с мягким. хак и фильтр это разные вещи. в основном хаки это ля ие, а для остальных браузеров используются фильтры в виде css-свойств, которые пока не понимают другие браузеры.
html:first-child, * html, *+html вполне себе валидные хаки
На запрос "css фильтр" гугл выдаёт что-то про ИЕ либо что-то про хаки, что вы имели ввиду?
ну господи. хак это вот что-то подобное _height, /width и прочие конструкции. а вы указали реальные CSS свойства.
По-моему миллионы лемингов не могут ошибаться, а они называют * html хаком
:D употребляя постоянно правило * html я даже не подозревал, что это хак.
называл его фильтром?
нет, это было стандартное правило, для установки всякой ерунды типа шрифта.
это не доказывает, но и не опровергает терминологию леммингов
нет, конечно. вот так живёшь и не знаешь. поди пойми этих леммингов :)
Хак — ломка синтаксиса, нарушение правил записи. Валидных хаков не бывает. Само словосочетание — нонсенс. Конструкции типа html:first-child хаками не являются.
Это не нонсенс, а устоявшееся выражение.
Когда ищешь хаки — приедлагают именно валидные конструкции(фильтры). Но если искать фильтры — вы мало что найдёте по теме.
найдите книгу Энди Бада, там он доступно объясняет разницу между хаком и фильтром.
RTFM! вы валидатор CSS видели? а opacity это CSS3 в валидаторе укажите, что у вас CSS3 и он не ругнется.
Прям уж и на -moz-opacity не ругнётся и на -moz-inline-box, и на expression в ИЕ и другие небесполезные вещи от которых нет смысла отказываться ради того чтоб css проходил валидацию.
Указывать версию css валидатору тоже мне выход ;) мой валидатор — браузер, он версию css не спрашивает.
Проверил несколько старых сайтов на валидность css — ошибки или в опечатках или в особенностях браузеров, а поскольку браузер проигнорирует всё что не поймёт, считаю эту валидность не более чем самопроверкой.
Советую расставлять приоритеты при работе так:
кроссбраузерность > валидный html > валидный css
валидный html > кроссбраузерность > валидный css

я бы вот так поставил. имхо, все что можно сделать кроссбраузерно, легко делается с валидным (x)html =) ведь мы разметка же парсится практически идентично и без ошибок, а вот CSS это уже другая история.
Т.е. допустим если (гипотетически) у вас есть баги с кросбраузерностью, но осталось 15 минут до сдачи сайта, вы потратите это время на то чтобы прописывать альты картинкам и & урлам, вместо того чтобы исправить баги.
Я понимаю что так не бывает, и альты и ампы вы прописываете всегда, но, допустим, вы работали в команде.
я такие вещи делаю во время работы, а не перед сдачей. мои макеты в любой момент времени и на любой стадии завершенности готовы пройти валидацию
запомните. никогда не говорите специалисту о том, что вашу валидатор - браузер. но это лирическое отступление. =)

про закглушки типа -moz, -webkit, -khtml. да здесь я согласен, если уж очень нужно применить это, то стоит применять, не задумываясь о валидности css. но, кстати, FF 2.x прекрасно понимает opacity, а с версии 3.x он уже понимает inline-box =). а про экспрешены я уже писал здесь в комментах. для ие вообще нужновыносит все стили в отдельный файл.
Вендорные префиксы не являются ошибками синтаксиса (спецификация допускает их применение), а потому можно смело игнорировать заявления валидатора на сей счёт. Хаки для IE следует хранить в особом файле и не валидировать его CSS-валидатором
Согласен, всё верно.
Отсюда лично я пришёл к выводу, что на вопрос "нужна ли на столько валидация CSS, чтобы при этом экономить на кросс-браузерности?" можно ответить, что она совсем не нужна и даже мешает, и что это миф и никому не нужно.
На самом деле идея валидного css мне в свое время очень сильно помогла. Помогла разобраться в самом css, за что этой идее большое спасибо. Однако я думаю, что если кто-то соберется сверстать шаблон сайта и, для реализации кросс-браузерности ему нужно будет поступиться валидностью, что ж пусть будет так...
нужна. надо следовать спецификациям. а для решения проблем с кросс-браузерностью - у вас есть прекрасное средство - условные комментарии. И в стилях для ие - пишите себе что попало. Потому, что есть вещи, которые валидно не добьёшься, но и в общем стиле они совершенно не нужны. Хорошим примеров выступят любые проприетарные свойства ие (любой альфа-фильтер) А для работающих со стандартами браузеров писать конечно нужно валидно.
Пользуюсь "условными", но к этому я не так давно пришёл, раньше были грубые хаки. Но такая политика заставляет сперва делать под FF, а затем подгонять уже под IE. Это меняет идиологию разработки :)
нужна. т.к. большинство ошибок браузеров заключается в некорректном парсинге именно CSS. невалидные конструкции для IE запихивайте в отдельные стили через условные комментарии, для оперы через opera/css, для сафари и лисы? хм, а им не нужно ничего невалидного пихать =)
поставил бы плюс - но закончились они у меня на сегодня...

...однако иногда, когда в css за 3000 строк, удобней все свойства держать в одном месте, а не раскидывать по файлам, из-за пару zoom или filter писать отдельный css-ник, а потом еще через пару сотен строк вспоминать - а был ли zoom...
а мне вот наоборот, я разбиваю css на множество файлов =)
Множество файлов = Множество запросов к серверу. Аскетизм не нужен, но и перебарщивать не стоит :)
тоже верно, но всетаки css кэшируется, т.е. каждый пользователь запросит его только один раз.
UFO just landed and posted this here
Валидация — это не самоцель, а самосредство; стандарты существуют прежде всего для браузеров.
С другой стороны, я обычно валидирую...
Страшное слово - стандарты.
я пользую слово - рекомендации...
Ну очень тяжело следовать стандартам определенного браузера, но следовать рекомендациям всемирной организации - желательно
Sign up to leave a comment.

Articles