Статьи

Используете ли вы исключительно префиксы webkit?

Вы, несомненно, читали о драме недели веб-разработки с префиксами вендоров. В противном случае списки рассылки W3C были в огне с тех пор, как обсуждалось (и, по сути, было объявлено), что Microsoft, Opera и Firefox начнут принимать и стилизовать свойства с префиксом webkit. Одна из причин этого решения заключается в том, что мы, разработчики, не несем ответственности за кодирование наших таблиц стилей; мы применяем слишком много свойств, специфичных для webkit, без учета других браузеров.

Услышав это, я подумал: правда ли это?


Чтобы догнать горячую драму, прочитайте следующие статьи:

Основная суть заключается в том, что производители, не являющиеся веб-разработчиками, планируют распознавать и -webkit префикс -webkit для ряда свойств CSS3. Отчасти это объясняется тем, что, по их словам, слишком многие разработчики были ленивы, слишком полагаясь на Webkit и не обновляя старые проекты (особенно это касается мобильных проектов). Как видят эти конкурирующие браузеры, у них нет выбора; их руки принуждают.

Одно дело играть с нестандартными, специфичными для Webkit свойствами (например, -webkit-text-stroke ); мы даже разместили подобные статьи на Nettuts +. Однако совсем другое дело, если разработчики, например, используют префикс Webkit исключительно при применении CSS-градиентов или переходов.


Часто рекламируемое оправдание для неправильного префикса всех свойств CSS3 состоит в том, что может быть значительно трудно отследить, какие префиксы необходимы для любого данного свойства. Это, конечно, правда, но разве наше сообщество не предоставило множество решений?

Могу ли я использовать

Начнем с руководства, поискового маршрута, CanIUse.com — фантастический справочник, когда нам нужно определить, поддерживает ли конкретный браузер свойство CSS3. Если он поддерживается, но требует префикса, CanIUse сообщит вам.

Это необходимая закладка для всех веб-разработчиков (и не ограничивается только CSS).

Компас

Compass — это фреймворк для Sass, который, помимо прочего, автоматически обрабатывает процесс префикса ваших свойств CSS3. Например, чтобы применить кросс-браузерный, сохраняющий здравый смысл box-sizing на веб-сайте с помощью CSS, мы бы написали:

1
2
3
4
5
6
* {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

Однако при использовании Compass мы можем просто включить миксин, например так:

1
2
3
* {
  @include box-sizing(border-box);
}

Таким образом, разработчикам никогда не нужно заботиться о том, предоставляет ли конкретный браузер префиксную версию нового свойства; Компас делает это за вас.

Nettuts + Prefixr

В Nettuts + мы также предоставили простой способ «автоматического префикса». Либо используйте веб-сайт или его API в своем любимом редакторе кода, чтобы автоматически фильтровать таблицу стилей и обновлять любые свойства CSS3, в которых отсутствует префиксная версия. Это может быть даже интегрировано в ваш скрипт сборки, так что вы когда-либо будете кодировать только с использованием официального синтаксиса.

Разница между Prefixr и Compass заключается в том, что для первого не требуется препроцессор, если вы предпочитаете кодировать весь CSS вручную. Просто введите Prefixr таблицу стилей, и она сделает все остальное.

Приставка-Free

Lea Verou’s Prefix-Free также является отличным решением. Он уникален тем, что представляет собой решение на основе JavaScript, которое динамически определяет используемый браузер, а затем назначает необходимые префиксы для таблицы стилей. Просто импортируйте без префиксов, используйте официальный синтаксис для новых свойств CSS3, и он позаботится обо всем остальном.

Хотя некоторые могут рассматривать тот факт, что JavaScript функционирует как недостаток, существенным преимуществом этого метода является то, что ваши таблицы стилей становятся меньше и удобнее в обслуживании. Для целей разработки это отличный выбор; однако для производства вы можете использовать другой инструмент, поскольку это может привести к значительным последствиям для производительности.

CSS3 пожалуйста

CSS3Please — это отличный сервис, который обеспечивает кросс-браузерный CSS для копирования и вставки. Настройте значения в соответствии со своими потребностями, и вы сразу получите фрагмент, который будет корректно ориентирован на все применимые браузеры.


Если вы пользователь препроцессора, который предпочитает создавать свои собственные CSS3-миксины, то это фантастика; однако, в противном случае, некоторые из вас не пользуются этими услугами? Если так, то почему бы и нет? Понятно, что Firefox и Microsoft могут чувствовать себя вынужденными поддерживать префикс webkit для некоторых свойств, несмотря на их лучшее мнение. Особенно для старых и небольших проектов, мы не всегда хороши в обновлении таблиц стилей по мере необходимости. Именно поэтому префиксные свойства так долго хранились, несмотря на то, что такие свойства, как border-radius давно поддерживаются, без префиксов. Webkit не хочет «ломать» эти сайты.

Так в чем же дело? Разве мы не несем ответственности?

Кристиан Хейлманн запустил проект под названием « Префикс Интернета» ; это побуждает разработчиков обновлять проекты GitHub для включения всех необходимых браузерных префиксов. К сожалению, инициатива может быть слишком поздно. Как вы думаете?