-prefix-free: изящный и миниатюрный «костыль» на JavaScript, избавляющий от необходимости вспоминать и перечислять префиксы свойств CSS3 для разных браузеров

  • Tutorial
Всякому такому автору сайта, который когда-либо снабжал своё детище стилями CSS3, уж конечно доводилось сталкиваться с необходимостью многократно повторять одно и то же свойство CSS3 и давать ему одно и то же значение, но указывая перед именем свойства различные префиксы разработчиков браузеров (vendor prefixes).

Эти префиксы необходимы для того, чтобы во браузерах работали те свойства CSS3, которые ещё не до конца стандартизированы: считается, что отдельное задание свойства для каждого из нынешних браузеров поможет в дальнейшем обойти возможное различие между нынешней реализацией свойства в каждом конкретном браузере и окончательными требованиями страндарта. Во браузере Mozilla Firefox для этой цели употребляется префикс «-moz-», в Google Chrome и в Apple Safari (и в других браузерах на основе Webkit) — префикс «-webkit-», в Опере — префикс «-o-», в IE — префикс «-ms-», а в Konqueror (и в наиболее ранних версиях Safari) — префикс «-khtml-».

На практике, однако же, автор сайта чаще всего использует своего рода «общий знаменатель» возможностей нескольких браузеров — значения свойств CSS3, работающие одинаково (или почти одинаково) во всех современных браузерах. Да и записываются все они также одинаково. Указание префиксов сводится поэтому ко многократному повторению свойств. Например, чтобы придать нескольким кнопкам jQuery-плагина ColorBox закруглённые края и заставить их отбрасывать тень, поневоле придётся записать в CSS вот что:
#cboxPrevious, #cboxNext, #cboxClose {
   -webkit-box-shadow: 0 0 6px #000;
      -moz-box-shadow: 0 0 6px #000;
           box-shadow: 0 0 6px #000;
   -webkit-border-radius: 6px;
      -moz-border-radius: 6px;
           border-radius: 6px;
}

Во-первых, это задалбывает.

Во-вторых, это неэкономично.

В-третьих, всегда существует риск забыть о необходимости указать тот или иной префикс. (В списке «How to avoid common CSS3 mistakes» эта ошибка — на первом месте.)

Поэтому рано или поздно должно было появиться какое-нибудь средство, позволяющее автору CSS-кода указать одни только безпрефиксные формы CSS-свойств и CSS-значений — а автоматика позаботилась бы об их адаптации к каждому конкретному браузеру.

И такое средство появилось — благодаря Lea Verou. Вот оно:

[-prefix-free]

Скрипт «-prefix-free», который занимает всего лишь 2 Kb в сжатом виде, обрабатывает свойства CSS3 и адаптирует их ко браузерам.

Это JavaScript, он работает на стороне читателя. Очевидно поэтому, что скрипт не сработает, если у читателя отключены джаваскрипты; зато он получает возможность непосредственно во браузере проверить и понять, в каких префиксах браузер нуждается, а не полагаться на обнюхивание заголовка «User-Agent», да и не зависеть от готового (возможно, устаревшего) списка неподдерживаемых свойств, как это было бы на сервере.

Скрипт обрабатывает стили, указанные внутри элементов <style> и в атрибутах style="…", а также внешние стили, подключённые элементами <link> (но только не из других доменов). Тому примером — стиль самогó сайта «-prefix-free». Однако «-prefix-free» не умеет обрабатывать стили, подключённые директивою @import.

В браузерах Opera и Google Chrome по умолчанию не поддерживается обработка стилей, подключённых из локальных файлов (она требует донастройки браузера вручную). В браузере IE (а также в Mozilla Firefox версии 3.6 и более ранних) не работают безпрефиксные значения свойств в атрибутах style="…", причём в этих старых Файерфоксах — не только значения, но и имена свойств.

К скрипту «-prefix-free» прилагается пара плагинов: меньший из них позволяет библиотекою jQuery (с помощью метода .css(…)) считывать и устанавливать свойства CSS3 без префиксов, а другой плагин следит за появлением новых элементов <style> и <link>, за изменениями атрибутов style="…", за вызовами методов CSSOM (объектной модели CSS) — и оперативно снабжает нужные свойства префиксами.

Правда, у такого слежения опять же есть ограничения: за изменениями атрибутов style="…" (совершаемыми методом setAttribute()) не удаётся проследить в Webkit, а в Google Chrome к тому же не сработает задание беспрефиксных свойств через CSSOM (например, element.style.transform = 'rotate(5deg)'), хотя чтение сработает.

В итоге чтения документации (основные выдержки из которой я только что пересказал) у меня сложилось впечатление, что «-prefix-free» может сгодиться для оформления такого сайта, у читателей которого обыкновенно включён JavaScript, а динамическое изменение стилей сводится к управлению скорее классами, нежели напрямую значениями свойств элементов. Что же касается необходимости хранения этих значений не в атрибутах style="…", а в стилевых элементах и файлах, так это и всегда считалось хорошим тоном отделения представления от содержимого.

С другой стороны, конечно, не надо забывать, что префиксы появились не на пустом месте — у них есть своя цель в жизни: преодоление взаимной несовместимости браузеров (в том числе старой и новой версии одного и того же браузера). Подробнее об этом поведал Эрик Мейер в статье «Prefix or Posthack» («A List Apart», 6 июля 2010 года). От подпирания свойств CSS3 «костылём» следует отказываться, когда оно может создать такую несовместимость.

С третьей стороны, употребление префиксов не следует доводить до фанатизма: когда оно лишается смысла, хороший «костыль» всего лишь экономит время автора сайта, не будучи способен привести к проблемам совместимости. Тот же Эрик Мейер у себя в Твиттере похвалил скрипт «-prefix-free» и поблагодарил Lea Verou.
Share post

Comments 83

    +20
    Это должно работать, например, при автоматизированной сборке статики при деплое, но никак не на клиенте.
      0
      Добавление префиксов при компиляции, будет мешать разработке, т.к. нельзя будет просто по рефрешу страницы увидеть изминения, только после перезборки или доп плагинами.

      Лучше делать live templates, или решать вопрос на уровне плагинов к IDE.
        0
        Можно. Часть сайтов у меня на Django+SHPAML+CleverCSS.
      +36
      Во браузере

      блеать! Сколько можно калечить русский язык, прикрывая это стремлением сохранить его? Я буду отписываться в каждом вашем топике, да. И напишу экстеншены для основных браузеров, исправляющие эту хрень, да. Простите за эмоции.
        –3
        Простил бы, кабы эмоции сопровождались ещё какими-нибудь основаниями. (Например, гиперссылкою на такие правила употребления полногласной и неполногласной формы предлога, которые в сём случае не оставляют её выбор на усмотрение автора.) До той поры позвольте мне держаться того мнения, согласно которому неблагозвучное сочетание согласных звуков «вбр» уместно только в элементе <wbr>, где без них никак не обойтись — но не там, где можно сделать так, чтобы речь о них не спотыкалася.
          +26
          В условиях контекста возможны дублеты типа в введении – во введении. Добавление гласного о к предлогу, состоящему из одного согласного звука или оканчивающемуся на согласный, наблюдается в ряде случаев:

          1) перед односложным словом, начинающимся со стечения согласных, с беглым гласным в корне, например: во сне (ср.: в сновидениях), во рту (ср.: в ртутных испарениях), во льну (ср.: в льнотеребилках), ко мне (ср.: к мнимой величине);

          2) часто после предлогов в и с, если с этих же согласных начинается последующее стечение согласных, например: во власти, во внушении, со слезами, со словами, со страху;

          3) в отдельных фразеологических выражениях, например: во сто крат, изо всех сил, во главе войск, как кур во щи;

          4) в текстах, имеющих оттенок торжественности, например: Во дни сомнений, во дни тягостных раздумий о судьбах моей родины… (Тургенев);

          5) в сочетаниях официального стиля, например: во избежание, во исполнение, во имя (перед начальным гласным слова).


          Так что «во браузере» — это одновременно и не благозвучно и безграмотно
            –6
            Вы разве сами себе не противоречите?
            2) часто после предлогов в и с, если с этих же согласных начинается последующее стечение согласных, например: во власти, во внушении, со слезами, со словами, со страху;

              +9
              пардон, я опростоволосился…
                0
                «с этих же согласных»
                «б» (в Браузере) не та же согласная, что и «в» (В браузере). Это правило здесь неприменимо.
                –13
                Позвольте спросить Вас, известна ли Вам разница между цитатою (особенно без указания источника) и гиперссылкою.
                  +13
                  Например: www.evartist.narod.ru/text1/66.htm Хотя предполагаю, что Мицголу Розенталь не указ.
                    0
                    Благодарю Вас за гиперссылку.

                    Позвольте сразу заверить Вас в том, что я всецело разделяю мнение, изложенное в четвёртом подпункте девятого пункта в §199 у Розенталя: полногласная форма предлога «во» действительно может и должна быть употребима в текстах, имеющих стилистический оттенок торжественности.

                    Более того, я действую в совершенном соответствии с этим мнением.

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

                    Мой авторский стиль также отнюдь не гнушается русских просторечий и архаизмов, а в отдельных редких случаях я даже прибегаю к употреблению символов Имперской Речи (ятя, фиты, ижицы и йоты), хотя никогда не доходил до допетровской кириллицы.

                    Всё это мои постоянные читатели на Хабрахабре имели возможность не раз заметить.

                    Прошу заметить также, что (согласно определению из россияноязычной Википедии) в современном смысле грамотностью называют способность писать согласно установленным нормам грамматики и правописания. Указанная Вами норма у Розенталя (как явствует по оглавлению) располагается в разделе, посвящённом отнюдь не орфографии и пунктуации, а правилам литературного редактирования, неявное включение которых Вами в список грамматических в значительной мере произвольно. Вы вряд ли имели бы право назвать меня в строгом смысле неграмотным даже в том случае, если эта норма была бы мною нарушена.
                      +7
                      > полногласная форма предлога «во» действительно может и должна быть употребима в текстах, имеющих стилистический оттенок торжественности.

                      > Более того, я действую в совершенном соответствии с этим мнением.

                      Что торжественного в заметке на Хабре?

                      > располагается в разделе, посвящённом отнюдь не орфографии и пунктуации, а правилам литературного редактирования

                      Грамотность речи в полной мере характеризуется и этим разделом тоже. Иначе будем считать, что такие важные вещи, как согласование сказуемого c подлежащим (и прочие согласования), семантика и построение речи и т.п. не относятся к грамматике?

                      > Для придания такого оттенка многим своим текстам я умеренно использую полногласные формы не только предлогов, о которых там говорит Розенталь, но также и падежей, и возвратных суффиксов.

                      Поногласная форма возвратного суффикса (о которой интернет ни сном ни духом) не является признаком торжественности, а является признаком малограмотной, простецкой речи.
                        +13
                        СО Мицголом спорить, что ВО браузере смотреть. )
                          +4
                          А мне нравится, читать Мицгола довольно забавно, у него позиция есть и он ее достойно защищает. На фоне того что каждый пятый в современных интернетах ничего не знает о tsya.ru, дискуссия развернувшаяся меня радует.
                            0
                            Поддерживаю, и хотя уход в торжественность — отмазон чистейший, но теперь он автоматически закрепляет стиль за Мицголом, теперь жду только торжественных постов.
                      –6
                      «Гиперссылкою»?! Кто научил тебя так говорить, «гиперссылкою»?! А? Гиперссылкой, ёпта! Ты на Хабрахабре зарегистрирован, бля, надо говорить правильно, ты ж захабренный, бля, не позорь значки! Че ты их напялил, бля? С меня содрали — на тебя напялили!
                        0
                        Вы что вчера на Хабре? :) Не надо так на Мицгола — он такой один :)
                          0
                          Просто неудачно спародировал сцену из фильма «Зелёный слоник». :-)
                      +1
                      Вас не смущает формулировка «наблюдается в ряде случаев», которая заметно отличается от «применяется тогда и только тогда»?
                      Неблагозвучность — это лишь ваше мнение. А с безграмотностью вы и подавно поторопились.
                        0
                        Вас не смущает формулировка про торжественность?
                          +2
                          Мне тоже кажется, что, говоря о торжественности, Мицгол лукавит. Я ее не вижу, например. Но у него совсем другой повод использовать такие формы предлогов — его устоявшийся авторский стиль. Еще раз подчеркну: в правиле не говорится, что применимость таких форм ограничивается исключительно перечисленными ситуациями.
                            –1
                            > Добавление гласного о к предлогу, состоящему из одного согласного звука или оканчивающемуся на согласный, наблюдается в ряде случаев:

                            Опишите, какой из случаев мы наблюдаем в этой заметке?
                      +4
                      > речь о них не спотыкалася.

                      Что-что, простите?
                        –14
                        Разница между «спотыкалась» и «спотыкалася» — это разница между полногласной и неполногласной формою возвратного суффикса.

                        Предупреждая следующий вопрос: разница между «формой» и «формою» — это разница между полногласной и неполногласной формою творительного падежа.
                          +44
                          Знатный тред. Сижу, потешаюся.
                            +9
                            Следуйте за стилем автора, сударь: лепый тред.
                              +2
                              Извольте сударь! «лепая ветка записей комментариев»
                                +8
                                1. Отвечая на звонок, говорить «Алло», «Да» стало старомодно. Есть другое нужное слово: «Внемлю!». Если неологизм с перепугу забылся, можно заменить фразой «Кому я понадобился?», произносимую со МХАТовским драматизмом.

                                2. На нежелательные вопросы, требующие немедленного ответа есть замечательная фраза: «Вам, милейший, какая печаль?».

                                3. Если вам наскучила чья-либо компания, вместо привычного «пошел на (далее одно из коротких слов)» следует томно произносить, закатив глаза: «Сударь, будьте любезны освободить нас от вашего тягостного присутствия».

                                4.Целый ряд идиоматических выражений типа: " твою мать" и т.п. заменяется фразой: «Больно слышать», произносимой с Шекспировским трагизмом.

                                5. В ходе научного спора, аргумент «Я тебя сейчас в асфальт закатаю!» правильнее заменить фразой: «Голубчик, не утруждайте себя в поисках профанаций».

                                6. Часто мы просим друзей и родных: «Вась, сгоняй кабанчиком за хлебом». Это неправильно… Просить об одолжении необходимо так:«Дружище, да не будет тебе в тягость...» и далее по тексту.

                                7. Если после ряда аргументов, необходимо подкрепить свою позицию крепким словцом, существует на выбор несколько вариантов: — «Ну ты, вонючий урод» должно произноситься, как — «Ох, и плутоват же ты, шельма!»; — «Баран, за базар ответишь?!» — «Я недосягаем для ваших дерзновенных аргументов и дедукций»; — «Тормоз ты редкостный» — «Да вы просто рутинер, милейший!»; — «Сам понял, что сказал, дебил?» — «Ваши слова, уважаемый, бурлеск чистой воды. Равно как и вы — акциденция современности»; — «Ну что, довыступался, дурень?» — «Ваше фанфаронство обернулось пустым, как трактир в понедельник».

                                8. Когда вас грубо подрезали, вместо «Куда прешь, козел?» следует вопрошать: «Куда путь держите, батенька?» Вместо «Светофор не видишь, идиот?» иронично произнесите: «Полноте, милостивый государь, дальтонизм сейчас не в моде». Если хотите поинтересоваться, где и почем ваш оппонент купил права, можно сказать: «Водительскую грамоту вы купить изволили или как презент получили?» Если же этот вопрос адресован вам самим, смело отвечайте: «Купил, но умом великим и усердием, не чета вам, толоконный лоб».
                                  +2
                                  произносимой с Шекспировским трагизмом.


                                  Это «Шекспиров» пишется с прописной, а «шекспировский» — со строчной.
                              +1
                              Боюсь, вО срач превратится вскорости. :D
                              +1
                              > Разница между «спотыкалась» и «спотыкалася» — это разница между полногласной и неполногласной формою возвратного суффикса.

                              Нуну. С этого места, пожалуйста, поподробнее. Я надеюсь, у вас есть правило, объясняющую эту вопиющую безграмотность?
                                +2
                                Вернее, не столько безграмотность, сколько просторечные формы
                                  +2
                                  Вдругорядь откройте Розенталя, главу XXXVI, §157, пункт 1.

                                  Как Вы увидите там, это не безграмотность и даже не просторечие, а всего лишь архаизм. В данном случае он употреблён как элемент моего авторского стиля. (Должен сказать ещё, однако, что и русским просторечием я не побрезговал бы.)

                                  Предупреждая следующий вопрос, сразу скажу, что «вдругорядь» — это также архаизм, который Вы без труда отыщете в Словаре русского языка XVIII века (АН СССР. Ин-т рус. яз.; Гл. ред.: Ю. С. Сорокин. — Л.: Наука. Ленингр. отд-ние, 1984—1991. — Вып. 1—6; СПб.: Наука. С.-Петерб. отд-ние, 1992—… — Вып. 7—…).
                                    +4
                                    Где по указанной вами ссылке говорится про «спотыкалася»?
                                      –6
                                      Да, правда: §157 у Розенталя говорит всё же о разнице между полногласной и неполногласной формою творительных падежей («формой» / «формою»), а не возвратных суффиксов («-ся» / «-сь») — которые, правда, ряд источников называет не только суффиксами (как, например, «Русская грамматика» на сайте ФПКП РКИ РУДН), но также частицами (Вербицкая, пункт 3.2.1, подпункт 13), или постфиксами (Горкин, 2006), или вообще окончаниями (Дурново).

                                      Я напрасно ссылался на этот параграф и готов признать это.

                                      Жду, однако, от Вас источника, в котором говорится, что употребление «-ся» вместо «-сь» является просторечным.
                                        +6
                                        Начнем с того, что вы, скорее всего, вообе не сможете указать мне како-либо правило, связанное с выдуманным вами термином «полногласный возвратный суффикс»

                                        А так — например, ближайшее на тему.
                                          +1
                                          Как я только что упомянул, «возвратными суффиксами» их зовёт, например, «Русская грамматика» на сайте ФПКП РКИ РУДН. Что касается того, почему я называю одну из этих форм полногласною, а другую неполногласною — ну, надо же как-то назвать их. Я прибег к метонимии. Если Вам известен более корректный термин, то огласите его.

                                          Отзыв Gramota.Ru — именно не более чем «ближайшее на тему»: там эта форма называется диалектною, а не прямо просторечною. Я ожидал, что Вы сошлётеся на что-то вроде исследования И. В. Шалиной «Уральское городское просторечие: возможности лингвокульторологической интерпретации» (PDF, кэш Google), где эта форма хотя бы прямо рассматривается как просторечная.

                                          Итак, есть три случая полногласных (или, если угодно, «более гласных», не синкопированных) формы:
                                          • у предлогов: «в браузере» / «во браузере»;
                                             
                                          • у окончаний творительного падежа: «гиперссылкой» / «гиперссылкою»;
                                             
                                          • у возвратных элементов: «спотыкалась» / «спотыкалася».

                                          Употребление же их является в первом случае признаком возвышенного стиля речи, во втором случае архаизмом, а в третьем — просторечием.

                                          Но ведь сии три кита и есть те самые, на которых возвышается черепаха моего авторского стиля. Как я чуть выше и упомянул.
                                            0
                                            Ну вот, вы сами сказали, что эта форма просторечная, с чем вы спорите-то?

                                      +7
                                      «Вдругорядь» — это контрольный в голову?
                                        +1
                                        Уже обсуждали в одном из прошлых топиков этого же автора. Тогда шкала возмущения на это слово превысила все допустимые пределы.
                                • UFO just landed and posted this here
                                    +14
                                    Как во браузере, да во скрипте…
                                    +3
                                    Я вот зашёл почитать топик про JS, а тут обсуждение русского языка. Вы уж либо создайте блог специальный, где все объясните (да и многим поднять грамотность не помешает, и я почитаю про плюшки руссъяза), либо просто не отвечайте на провокации.
                                    • UFO just landed and posted this here
                                        0
                                        «руссъяза»? Больно слышать…
                                    0
                                    Да, хабр непредсказуем, в карме минусы, в комменте плюсы. Я так понял, что спорить бесполезно, если вы решили, что будете писать в стиле средневековых летописей. Очень жаль, интересные статьи иногда пишете.
                                      +2
                                      Что в хабре непредсказуемого, сами же написали
                                      Я буду отписываться в каждом вашем топике

                                      Я, например, не хочу в каждом топике Мицгола пролистывать оффтопные холивары, и, думаю, я не один такой. Пусть пишет как знает, все уже давно привыкли.
                                        +5
                                        Если Мицгол будет писать «в браузере» — это будет уже не Мицгол.
                                        Пусть пишет на радость Тимофееву-Ресовскому)
                                          0
                                          Это которому Тимофееву-Ресовскому? Вон тому? Но при чём он тут?
                                            +1
                                            Да. Я о нём.

                                            Он ратовал за важность и чистоту родного языка в научных изысканиях.
                                              0
                                              О как.

                                              Я не знал.

                                              Благодарю за это сведение.
                                      +3
                                      Такие комментарии отвлекают от темы статьи и совсем лишние здесь — среди комментариев к статье. Вашим эмоциям Вы могли бы найти и другие места.

                                      Гораздо страшнее калечит слух «В броузере». Напишите, лучше для начала «экстеншены» для этого. Я бы воспользовался. (:
                                        +2
                                        О чем там топик был???
                                          0
                                          Ужо забылось всеми…
                                        +3
                                        Научитесь видеть суть. Это полезнее зкстеншенов.
                                          +3
                                          Нет, ну долбануться можно.
                                          Человек пишет совершенно грамотно; ну да, слегка необычный стиль, который, между прочим, уже давно стал его фирменным. Но он не делает чертовых дебильных ошибок, от которых передергивает так, что хочется дать автору Розенталем по башке (и это при том, что я на очень многое стараюсь закрывать глаза).
                                            0
                                            Не соверщенно ;)
                                          +28
                                          По мне так лучше LESS. написал 1 раз переменную

                                          .gradient (@color-from: #EEFF99, @color-to: #66EE33){
                                          background: #EEFF99;
                                          background: -webkit-gradient(linear, 0 0, 0 bottom, from(@color-from), to(@color-to));
                                          background: -webkit-linear-gradient(@color-from, @color-to);
                                          background: -moz-linear-gradient(@color-from, @color-to);
                                          background: -ms-linear-gradient(@color-from, @color-to);
                                          background: -o-linear-gradient(@color-from, @color-to);
                                          background: linear-gradient(@color-from, @color-to);
                                          -pie-background: linear-gradient(@color-from, @color-to);
                                          }

                                          и все дальше писать опять все строки не надо, просто:

                                          .gradient (#ff0000, #00ff00)
                                            +6
                                            эээ злостный оффтоп, куда модеры смотрят!!!
                                              –1
                                              разве я сказал что то не по теме? по моему, в теме про JS упрощающий CSS, упомянуть еще возможные варианты это не оффтоп. или я вас не правильно понял?
                                                +3
                                                Все ок. Хабрачел намекает, что Вы не обсуждаете граммотность товарища Mithgol'a.
                                              0
                                              к less еще хорошо идет mixins.less из Twitter Bootstrap: github.com/twitter/bootstrap/blob/master/lib/mixins.less
                                                0
                                                Только так и работаем, Twitter Bootstrap + LESSCSS )
                                                0
                                                В ие7 "-pie-background" работает непредсказуемо при изменении display с block на none и обратно. Есть конечно идея применить position: absolute + visibility: hidden, но лично было проще отказаться от PIE в ие7.
                                                  0
                                                  В осле с «display: block\none;», есть полно нюансов, даже в 8. Например помимо "-pie-background", так же есть ошибки с прозрачным PNG в background + opacity.
                                                  Так что тут не в JS проблема а в браузере.
                                                  Но я не отказываюсь от pie, чаще просто блок не делаю «display: none;», а делаю его «left: -9999;».
                                                • UFO just landed and posted this here
                                                  +8
                                                  scss/sass + compass решают эту проблему без всяких костылей
                                                    +5
                                                    Всё что выбивается за границы стандарта, являются костылями, как бы они не пыжились.
                                                      0
                                                      вы правы, но less всё равно удобнее предложенного решения.
                                                        0
                                                        Соглашусь.
                                                    +6
                                                    Кстати, как оно на мобилке работает?

                                                    Хихи. По теме всего 3 комента.
                                                      0
                                                      Хрень это всё, лишенная какого-либо смысла. Префиксы не просто так появились. Использовать фичи, в которых производители браузеров еще не уверены (и, соответственно, которые могут повести себя совсем по-другому через год-другой), могут только бета-тестеры и техноманьяки. Но к живому продакшену их подпускать нельзя. Всё, что идет с префиксами — слюни пускай сколько хочешь, но руками пока не трожь. Неужели это непонятно?
                                                      Вот устаканился border-radius — и -moz-border-radius стал ненужен сам собой. В продакшене отдельная верстка только для осла (ну, как обычно).
                                                        +2
                                                        ок, продолжайте верстать уголки картинками
                                                          0
                                                          Зачем? border-radius уже работает, для осла есть костыли.
                                                            +3
                                                            ок, s/уголки/градиенты/g
                                                        –2
                                                        Такие костыли использовать не кошерно. Всегда пользуюсь CSS3 генераторами и всё нормально.
                                                        –1
                                                        Была в стародавние времена присказка одна, и пользовались ею очень даже часто, но позже забыта она стала:
                                                        кг/ам
                                                          0
                                                          Еще 1 плагин, который будет тормозить загрузку сайта, только потому, что девелоперу лень написать лишних пару строк или настроить live templates.
                                                            0
                                                            А еще один из хороших вариантов — wiki.nginx.org/HttpEchoModule
                                                            можно в зависимости от браузера очень быстро генерить css с нужными префиксами.
                                                            или еще как вариант просто выдавать разные версии css файлов для разных браузеров.
                                                            и клиенту меньше грузить стилей и для nginx это совсем не проблема.
                                                            • UFO just landed and posted this here
                                                                0
                                                                Сори не сюда хотел!
                                                                Большое спасибо автору статьи! Много я нового для себя открыл!!!
                                                                Есть у меня пара вопросов к знающим.
                                                                1) Prefix не добавляет почему-то "-moz"
                                                                2) Как вы синхронизируете с ftp или sftp ваши проекты? ( я привык к Coda, там все автоматом, зажал клавши и все ушло, а на ST2 не знаю как?)
                                                                Подскажите кто чем пользуется?

                                                                Only users with full accounts can post comments. Log in, please.