Вы знали, что это произойдет? Да, я все еще предпочитаю СSS3 и использую их каждый день. Но это не означает, что я всем доволен. Вот 5 вещей, которые мне раздражают в СSS3.
1. Много свойств.
Как часто вы обращаетесь к пособиям или справочным материалам при написании кода СSS 2.1? После изучения основ я подозреваю, вы лишь поверхностно заглядываете в них время от времени.
Эти дни прошли. Возможно только для меня, но новый объем тегов подавляющий. Даже когда я знаю, что такое свойство существует, просто невозможно вспомнить его значение. Кто знает по полной градиентный фон и все варианты отображения границ?
В то время как СSS3 определенно экономит время, вам придется обращаться к онлайн-справочнику каждую минуту.
2. Префиксы вендоров.
Префиксы вендоров являются абсолютно необходимыми. Я использую их и признаю, что эта цена за ультрасовременные методы. Это не означает, что они мне должны нравиться. Другие разработчики не используют их, иначе мы приблизились бы к катастрофе СSS3.
В лучшем случае префиксы приводят к неуклюжим повторениям. В худшем случае, они используют абсолютно различные синтаксисы. Существует JavaScript и другие предварительные серверные процессы, которые помогут облегчить бремя, но ни один из них несовершенен. В конце концов, если программа не будет работать в том или иной браузере, эта проблема с СSS, браузером или фреймворком, которые вы используете.
3. Инструменты разработчика.
Для любого производителя IDE идти в ногу со временем и с быстрыми темпами развития СSS3 очень трудно. Кто-нибудь знает редактор, который поддерживает все новые свойства и синтаксис со всеми предварительно-установленными различными производителями? Я не знаю.
Не так все плохо, есть много хороших онлайн-СSS3 инструментов. Тем не менее, вы все равно не найдете много хороших сред разработки.
4. Поддержка браузеров и политики W3С.
Браузеры производителей имеют разные приоритеты и дату выпуска. Хотя легко выбрать между IE(IE9 не поддерживает текстовые тени), даже WebKit не последовательно перед игрой (Chrome не поддерживает отдельные анимации псевдоэлементов). У одного браузера всегда больше возможностей, чем у другого, но реклама и маркетинг часто стоят на пути развития. Как часто вы приобретали браузер, поддерживающий свойство X, написанный код обнаружил, что оно не работает?
Основные поставщики сотрудничающие с W3C согласовывают стандарты.
В действительности они конкуренты:
Компания Apple обвиняется в реализации специфической возможности IPhone/IPad, которая состоит в использовании «HTML5», при этом, не ссылаясь на W3C.
Предложение поддержать префиксы WebKit в не-webkit браузерах может нарушить СSS3, насколько я знаю. Медленный темп процесса утверждения стандартов выявляет разногласия и политические баталии.
Это раздражает. Разработчики попали под перекрестный огонь, но это не так просто решить. Если кто-то что-то предложит, отбросив все основы, кроме одной — механизм рендеринга, то это не будет грамотным вариантом, и приведет к стагнации инноваций.
5. Несущественные улучшения.
Закругленные углы СSS3 экономят время каждого проекта. Нет необходимости в замысловатых расположениях или многократных фоновых изображениях. К сожалению, они не будут работать в IE8 или предыдущих воплощениях браузера. А значит, у вас есть 2 варианта.
- Забудьте СSS3 и используйте традиционные методы развития. Согласитесь, что нет двух браузеров, которые будут выполнять одни и те же функции. IE8 уже служит нам на протяжении 3 лет и был выпущен прежде, чем разработка перешла на HTML5. Страницы, рассматриваемые IE8 будут выглядеть по-другому (хуже), чем в IE9, FireFox, Chrome, Safari,Opera.
- Попробуйте преобразовать IE8 с помощью JavaScript, обычно используют для реализации старых конкретных фильтров в IE.
Я рекомендую 2 вариант. Возможно, вам придется обучать своих клиентов, но их стоимость будет снижена и в конечном счете можно убедить пользователей обновить свой браузер.
К сожалению, я продолжаю находить сайты, которые добавляют множество хаков в тщетной попытке добиться совершенства пикселей. Чтобы страницы выглядели лучше, нужно прибегать к громадным кодам, а IE8 в этом случае работает удручающе медленно. Не верится, что клиенты будут довольны результатом.
В заключении
СSS3 превосходен. С точки зрения практичности, он прогрессирует быстро и более, чем HTML5 или JavaScript API.
Совместимость браузеров является проблемой, но уверен, что «настанет день, когда они в конечном итоге придут к согласию». Я не уверен. Мы достигнем вершины, когда СSS3 будет полностью реализован, но мы будем недовольны СSS4 к тому времени!