Comments 119
По ссылке на оригинал можно прочесть, что это, фактически, новая браузерная война (Вот только теперь монополист WebKit) и ужасное решение, ибо теперь любой может реализовывать какие попало префиксы в браузерах. А это значит, что начнётся бардак.
W3C сейчас работает по такой схеме.

Людям понадобилось css-свойство. Например "make-cool: true;".
Спустя год браузер на базе webkit тестово реализовывают это свойство. Какой-то так: "-webkit-make-cool: true;".
2 года W3C игнорирует необходимость этого свойства
За эти два года свойство уже есть во всех браузерах, люди начинают их использовать.
Потом кто-то в W3C предлагает начать обсуждать это свойство, предлагают добавить его в стандарт.
Они никак не могут определится, необходимо сделать так: "make-cool: 1;" или, может, "make: cool;".
Тем временем люди уже вовсю используют это свойство, чтобы в мобильных браузер сайт выглядел реально кульно. Опера и Файрфокс ждут пока W3C наконец образумятся и введут это свойство в стандарт. Разаработчики в мобильной опере и фоксе не проверяют, т.к. главное, чтобы работало в иПаде по-умолчанию.
w3c решили, что make не совсем корректное название, потому решили перейти на синтаксис "look: really-cool;". На то, что разработчикам пофиг, что копипастить make или look W3C плевать. Стандарт ведь должен быть cool.
w3c решает, что новый синтаксис надо обсуждать ещё 2 года (ведь теперь не make, а look).
Доля Fx и Opera падает, так как их сайты выглядят не кульно. Создатели шлюх старпёров из W3C в зад и добавляют webkit-свойство в свой браузер, но уже поздно…

… спустя 5 лет w3c добавляют в стандарт свойство «try: make-it-cool», который делает то же самое, что делал хром 10 лет назад, но ведь он только пытается сделать сайт кульным, а не реально делает его кульным, так что теперь свойство правильное.

W3C ругает Хром за то, что тот изначально реализовал неправильный синтаксис, а Оперу и Мозиллу за то, что они пошли против w3c.

А ведь разработчики всего-лишь хотели, чтобы их сайт выглядел кульно.
А ведь должно было так:

Хром реализует свойство "-webkit-make-cool: true;".
Программисты за полгода его обкатывают
w3c полгода его обсуждают и добавляют в стандарт
Через год в стандарте есть свойство «make-cool: true», которое и поддерживают все браузеры.
А такие быстрые внесения новых свойств в стандарт не превратят CSS в нелогичную мусорку? Как это случилось с PHP.
«шлюх» — опечатка. Там слово «шлют». Очень быстро печатал просто.
Прям по Фрейу. :) Я даже не понял, что это опечатка, если честно.
Учитывая то, что между «Х» и «Т» огромное расстояние можно представить, что я думаю о тех, кто так тормозит со стандартизацией.

Но это была реально опечатка.
Но это была реально опечатка.


Да да, конечно! :)

Опус вышел знатный.
Я долго думал над смыслом фразы, ассоциативное мышление мне в конце концов выдало глагол, который напрямую связан со словом «шлюх», означающий что с ними обычно делают и все стало на свои места, пазл собрался, а фраза обрела смысл. :)
Очередной пример случая, когда комментарий к статье значительно интереснее самой статьи. Брависсимо!
можно подавать сценарную заявку Финчеру на новый фильм «Социальная сеть 2: Битва стандартов». В роли главы W3C Роберт де Ниро, в роли ведущего разработчика Chrome — Джастин Тимберлейк.
И в конце должен прилететь Брюс Виллис и написать идеальные стандарты, которые будут актуальны вечность.
Сейчас это и пытается сделать W3C, когда пора бы в Final уже года два как.
И вот что самое странное: в W3C в Cascading Style Sheets (CSS) Working Group участвуют:
— 6 представителей Apple
— 4 представителя Google
— 8 представителей Microsoft
— 7 представителей Mozilla Foundation
— 6 представителей Opera

Вроде как нет противостояния W3C и разработчиков браузеров, потому что рабочие группы в основном состоят из представителей браузерных компаний. Они просто водят нас, простых вебразработчиков, за нос. :)

Справедливости ради добавлю, что «браузерцы» это 31 человек из 74 в рабочей группе по CSS. Большинство компаний имеют 1-5 представителей.
Выделяется только Adobe — 9 представителей! Вот оно как, значит… :)

Источник: www.w3.org/Style/CSS/members

UFO landed and left these words here
О ком речь?

Сам в группе не уччаствую, со стороны кажется, что «лебедь, рак и щука», а не один какой-то браузер.
UFO landed and left these words here
Читал. Но мне их не жалко. Оправдание из разряда «Мы не тормоза, нас тормозят». Я крайне сомневаюсь, что можно запатентовать градиент или радиус бордера. Если патентуют название свойства, то можно его назвать иначе. Будет «block-radius», а не «border-radius», ничего страшного.
От того, что в Фотошопе есть градиент никому не запрещено применять градиент в фотошопе. Так что они тормоза.

А статья — сплошная вода, никаких фактов. "-webkit-" фичи не входят в стандарт CSS3? Ну и пошли w3c в жопу.

Мне нужен "-webkit-tap-highlight-color" и он мне нужен сейчас (реально нужен на практике). Более того, я страшно бешусь с оперы от того, что у неё нету этого свойства.

Когда w3c добавит что-то подобное в стандарт? Пусть оно называется не «tap-highlight-color», а «activate-color», мне плевать, что копипастить. Я хочу, чтобы во всех браузерах работало это свойство. Потому что я вешаю обработчик на document, а потом анализирую target. И безсмысленная подсветка мне не нужна — она только раздражает пользователя.

И, что самое главное, она раздражает только пользователей Оперы, потому что они ждут, пока w3c перестанет тормозить, а пользователи webkit уже давно лишились этого уродства.
UFO landed and left these words here
Если бы в w3c не пили тормозную жидкость, то в прориетарщине просто не было бы смысла.
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
UFO landed and left these words here
Что означает, что в стандарт пойдёт не самая лучшая, а первая реализация правила.

Браузер может поддерживать исключительно свой родной синтаксис через общий префикс, никто не заставляет его копировать синтаксис, используемый в других браузерах. Тогда использование разработчиком сайтов общего префикса будет означать: «Я согласен, что могут быть глюки, но мне плевать» (по большому счёту, как сейчас и происходит). Уж лучше сделать общий код для всех и специальный для одного выделяющегося браузера («», «-x-», «-browser-»), чем как сейчас («-webkit», «-khtml-», «-moz», «-ms-», «-o-», «», «-pie-»).
Тем, что префиксы позволяли при необходимости четко разделять стили для разных браузеров.
Теперь начнется бардак: синтаксис-то они скопируют, а вот будет ли реализация свойств в точности совпадать с вебкитом? Очень сомневаюсь.
Хотите поддерживать какие-то передовые свойства — либо лепите свой префикс, либо поддерживайте стандартный вариант вовсе без префиксов (там, где таковой есть, конечно). Третьего не дано.
Проблема в том, что разработчики делают сайты под дефолтный ипад браузер, потому префиксы ставят только вебкитовские
Ну это проблемы индейцев…

Как я предполагаю, опера сейчас начинет поддерживать вебкит-свойства, но кривовато, отчего сайты начнут выглядеть не всегда предсказуемым образом. Что будет дальше?
Верстальщики, матерясь, начнут поддерживать и её? Или просто откажутся от большинства свойств, кроме самых необходимых? Или же все оставят как есть, вынуждая опероюзеров терпеть подглючивающие «красоты»?

Кстати, скажу как верстальщик (но правда, я по десктопной части) — Опера часто раздражает даже больше IE именно тем, что нет полностью хорошего и надежного способа её определить, чтобы написать ей персональные костыли. CSS-хаки все ненадежные и устаревшие, связываться со скриптами не хочется, сервер-сайд неудобно.
И теперь вот ещё это.
Это проблемы Оперы и Файрфокса, которые создал им W3C и нерадивые разработчики.
Опера решила снять с себя эти проблема и это решилось довольно просто.
Верстальщики, матерясь, начнут поддерживать и её?

Для Оперы лучше, чтобы поддерживали, чем не поддерживали, не так ли?
Будет реализовано очень просто. Есть только -вебкит-свойство — используется оно. Есть -вебкит- и -о-свойство. Используется -о- свойство. Есть -вебкит-, -о- и безпрефиксное — используется безпрефиксное.
Вам просто для оперы, чтобы она не смотрела на -вебкит- свойства надо будет указывать -о- свойства. Это ведь прекрасно.

Я сам не люблю разрабатывать под Оперу, но сейчас они поступают абсолютно логично и закономерно.
Не совсем верно.
Как я понял — если в коде есть -вебкит-свойство, но у оперы нет аналогичного -о- свойства, то использоваться -вебкит-свойство не будет.
-вебкит-свойство будет использоваться только в том случае, если браузер поддерживает аналогичное -о- свойство, но кодер его не указал.
Кстати, алгоритм выбора «более приоритетного» свойства, который вы описали, плохой — он идёт вразрез со стандартом CSS. Ведь сейчас всегда «побеждает» то свойство, которое определено позже всех.

Например, для Хрома, вариант #1:
    -webkit-box-shadow: inset 0px 0px 333px #000;
    box-shadow: inset 0px 0px 10px #000;

Вариант #2:
    box-shadow: inset 0px 0px 333px #000;
    -webkit-box-shadow: inset 0px 0px 10px #000;

В обоих случаях второе свойство отменяет первое, и в обоих случаях размер тени — 10px.
UFO landed and left these words here
Поидее если после -webkit свойства будет идти родная имплементация — она перекроет ее и все будет хорошо. Посути для webkit проблем не будет. Это делается пожалуй для анимаций и прочей ерунды. Я не вижу ни одной причины для беспокойства.
А Вы вссмотритесь в разницу:
-webkit-super: cool;

и

-webkit-super: cool;
-o-super: cool;

Если люди все будут делать правильно, то будет везде хорошо, а если люди будут делать неправильно (первый вариант кстати неправильный) то всеравно будет везде хорошо. В чем проблема?
При чём всегда можно будет сделать так:
-webkit-super: cool;
     -o-super: not-cool;

Если принципиально, чтобы в опере было не кульно.
Проблема в намечающемся ещё большем запутывании нынешнего бардака.
Что если завтра другие производители захотят поддерживать чужие проприетарные префиксы? А будет поддерживать B, В — C и так далее. Держать в голове таблицы совместимости и пересечений?
Это ведь нарушает изначальное определение и функцию проприетарного префикса — указывая его, я точно знаю на что он повлияет, а на что нет.

Лучше бы продвинули среди разработчиков свой -o-. Я-то его указываю по возможности, но если многие на него забивают, это как бы намекает на ценность той аудитории :)
Если хочешь уверенности — просто укажи вендорные префиксы всех браузеров.
Да я понял. Но я все равно против такого пролезания на чужую территорию.

Что-то вспомнился анекдот про Рабиновича, который по паспорту русский…
Тут тоже будет по паспорту как-будто вебкит, а реально опера :)
Все правильно делают, иначе не заставишь людей использовать все префиксы и тестировать для всех браузеров, а так хоть выглядеть будут одинаково везде, даже если разработчик криворукий или ленивый.
Обана!
Честно, я не знал, что существует -o-. Сейчас спросил в комманде, из 6 человек о нём не слышал никто. Оперу никто не видел уже по N лет тоже :)
На забугор работаете?
Я когда работал конторе, которая аутсорсила на Америку, мне так и говорили: «Опера? В мире такого браузера нет.»
тем что раньше было так:

make-cool: 0.5;
-webkit-make-cool: 0.6;
-o-make-cool: 0.7;
-moz-make-cool: 0.4;
filter:progid:DXImageTransform.Microsoft.Alpha(cool=0.54);

а теперь будет так:
make-cool: 0.5;
-webkit-make-cool: 0.6;
-o-make-cool: 0.7;
-moz-make-cool: 0.4;
-o-webkit-make-cool: 0.3;
-moz-webkit-make-cool: 0.8;
filter:progid:DXImageTransform.Microsoft.Alpha(cool=0.54);

ибо синтаксис синтаксисом а движки разные. >_< веб сходит с ума!
что было раньше, то раньше и останется, опера если не найдет своего, будет использовать вебкитовский стиль, ничего не изменится.
UFO landed and left these words here
Третье — сделать кнопку/настройку «Обрабатывать префикс -webkit- для данного сайта». Правда надо определиться что лучше — делать её по умолчанию включенной или выключенной. А идеально вообще анализировать — если есть префикс -о-, то остальные префиксы игнорим, иначе пробуем обработать и -webkit-
Opera переходит на сторону зла

Я бы написал заголовок ещё желтее:
W3C вынуждает браузеры поддерживать чужие проприетарные префиксы


Так как в силу абсолютной тормознутости W3C в принятии современных стандартов и отсутствия вневендорных стандартных свойств у создателей браузеров просто не остаётся выхода — приходится поддерживать свойства, которыми пользуются люди.
W3C тормоз, согласен. Но если взял за правило использовать свойства с префиксами — изволь указывать все префиксы. И без префикса. Или используй что-то, что это за тебя автоматизирует. Да хоть "-Prefix- Free!"
Ну это я знаю. А многие разработчики на это забивают и делают сайты -webkit-only.
А пользователи говорят: «дефольные сайты отображают сайты красивенько, а опера и файрфокс — говняненько».
Поверьте, будь у браузеров возможность не поддерживать эти префиксы без потери пользователей — они бы поддерживали.
«в силу абсолютной тормознутости W3C в принятии современных стандартов»
Просто под каждым словом подписываюсь.
UFO landed and left these words here
Объясните пожалуйста кто-нибудь, кто такие эти W3C и кто им разрешил «делать стандарты» и с какого повода они думают что они главные?
В смысле, почему бы разработчикам браузеров просто не послать этих слоупоков и не принимать стандарты сообща без этой тормознутой конторы?
UFO landed and left these words here
Почему же они такие слоупоки?
Разве их организации не могут дать подзатыльников чтобы те быстрее думали?
UFO landed and left these words here
Спасибо за развернутый ответ, теперь хоть что-то понятно.
Для меня открытым пока что остается вопрос только с ICANN.
UFO landed and left these words here
UFO landed and left these words here
после прочтения сей блогозаписи удивлен был я, увидел в качестве автора не Мицгола.
Мицгол бы там запятую не пропустил, так что примерно на середине поста иллюзия рассеялась. А поначалу да, был уверен, что он.
Смею напомнить, что об опечатках и ошибках принято сообщать в личку.
Я думаю о том, что слово «блогозапись» есть только в воображении Мицгола, но нету русском языке в личку писать не имеет смысла?
Так я и не сообщаю, мне совершенно индифферентны опечатки и ошибки.
А почему нельзя просто игнорировать префиксы при разборе стилей и поддерживать то, что идёт после префикса? Это реализовать — день максимум (хотя, наверное, минут 15 :). Есть подводные камни?
Потому что то, что реализовано с префиксом, не факт, что работает так, как потом захочется W3C. Соответственно, если браузер будет ориентироваться на свойство без префикса, и показывать одну картинку, то потом ему придется менять поведение обработки этого свойства, получая другую картинку. А с учетом того, что css на сайтах останется прежним — верстка поплывет.
Почему на сторону зла-то? Вот если бы Opera придумала еще какой-нибудь свой префикс, тогда да, а так Opera наоборот идет навстречу разработчикам.
Я в курсе, спс, я говорил не о том, Opera могла придумать еще какой-то свой префикс (3-ий), тогда это было бы зло, а так лишь осуществляет поддержку того, что уже есть.
Это действительно зло. Если опера будет по другому обрабатывать эти правила, то придется снова использовать хаки. Лучше уж свой префикс -o- пусть используют.
да я в курсе, что у нее есть свой префикс!

я говорил о том, что она могла придумать еще какой-нибудь (3-ий) и тогда это было бы зло, а так лишь осуществляет поддержку того, что уже есть.
Осуществляет, но нет гарантии, что делает это так же, как WebKit. До этого верстальщик мог быть уверен: если он написал только -webkit, то свойство отработает только на webkit-браузерах, а на опере не отработает никак. Теперь же оно отработает на опере как-то не совсем понятно как, что теоретически может добавить путаницы. Хотя да, я согласен, что лучше как-то, чем никак.
я ждал этого. Ну нафига весь этот заопарк префиксов было разводить и тем более использовать в продакшене.
Мне кажется, было бы гораздо лучше сделать две вещи: префикс "-experimental-" во всех браузерах для всех свойств, не входящих в стандарт, и условные блоки в CSS, позволяющие указывать разные свойства для разных браузеров.
Я так думаю, что -webkit и станет в скором времени -experimental. И стандарты, не думая по два года, будет придумывать самизнаетекто. А потом они может быть и вообще купят w3c (не знаю, можно ли это). Потому что в наше время над стандартом нельзя думать два года.
Пришло время, когда не верстальщики под браузеры подстраиваются, а браузеры под верстальщиков.
Я мечтаю о светлом будущем, когда будет один префикс «-x-» для всех экспериментов, и не будет клонирования пяти длиннющих правил, плюс одного «стандартного», которое никем не поддерживается, плюс одного для левых библиотек типа pie. Мечтаю, когда W3C будет рожать стандарты не по 10 лет, а хотя бы по году. Мечтаю, когда разработчики браузеров не будут лепить свои крутые идеи в CSS без спроса, а обсуждать хотя бы с другими браузерами. Мечтаю, когда разработчики сайтов перестанут плевать на все браузеры, кроме браузера «по умолчанию». Светлое будущее настанет, ведь так?..

...в русалок верю, в домовых.
UFO landed and left these words here
Это же замечательно! В HTTP хотя бы нет таких красот:

X-Apache-Forwarded-For: 127.0.0.1
X-nginx-Forwarded-For: 127.0.0.1
X-IIS-Forwarded-For: 127.0.0.1
X-GWS-Forwarded-For: 127.0.0.1
X-Resin-Forwarded-For: 127.0.0.1
X-lighttpd-Forwarded-For: 127.0.0.1
UFO landed and left these words here
Слишком много вкусного доступно только с префиксами. Один раз вкусив градиенты, возвращаться к картинкам не хочется. И уж тем более к вёрстке скругленных границ картинками. Некоторые вещи гораздо проще реализуются с помощью префиксов, например, box-sizing. Ждать пять лет? Нет уж, увольте.
UFO landed and left these words here
Ну будет градиент слева-направо, а не сверху-вниз, и что? Лучше, чем без них
UFO landed and left these words here
Progressive Enhancement (он же «graceful degradation») для дизайнеров тоже никто не отменял. В 99% случаев градиенты отлично ложатся, в некоторых браузерах они выглядят чуть по-другому, а в старых просто отображаются сплошным цветом. Все счастливы.
UFO landed and left these words here
UFO landed and left these words here
Однако браузерные префиксы все равно нужны будут. Ведь дело было не только в сырости стандарта, но и в сырости реализаций. То есть в каком-то браузере, например, свойство в целом уже поддерживается, но в конкретных применениях могут быть глюки. Тогда разработчику можно будет задействовать такой код:

-exp-new-feature: yes;
-ms-new-feature: not-yet;
new-feature: yes;

Правда теперь, с учетом топика, уже трудно будут внести такую модель. Ведь, например, вебкит-префикс в аналогичной ситуации (взамен -ms-) перебьет общий префикс, так как гипотетический веб-разработчик написал вебктит-префикс ниже общего префикса. Так что с отключенной фичей останется не только Хром, но и Опера, даже если в этой конкретной ситуации ее реализация была без изъянов. Конечно, разработчики Оперы могут настроить ее так, чтобы она давала приоритет именно общему префиксу, но это будет уже в наперекор стандарту.
UFO landed and left these words here
Дык можно и проще: просто указать префикс -exp- после -webkit-. Но дело-то как раз в том, что многие веб-разработчики имеют низкий профессионализм и могут об этом не знать или не подумать (точно так же, как и не знают про префикс -o-, из-за которого и начался весь сабжевый сыр-бор).
Этого следовало ожидать. Не будет прогресс ждать, пока сиськомяты из W3C попу морщат и ковыряют в носу годами.
Но почему просто не дублировать -webkit как -o? Сейчас же так, в чем проблема-то?
UFO landed and left these words here
Ну как обычно. Придурки разрабатывают, а потом получается полная паника.
Проблема скорее в том, что в опере никто не тестирует, потому что ей мало кто пользуется, а следовательно, потраченное на оперу времени того не стоит.
Теперь же Опера старается сделать так, чтобы сайты, которые в ней не тестировались, всё равно выглядели как можно лучше.
Опера в России — 30%. Хотя бы в нашей стране можно не быть мудаком по отношению к этому продукту.

И заметь, вводятся в мобильной опере. Которой, кстати, совсем немало и в мире.
Это, а также объявленное на днях прекращение поддержки в Опере 12 ряда чисто «оперных» технологий на водит на странные мысли… Уж не хочет ли Опера выпустить браузер на движке Webkit.

UFO landed and left these words here
Нафига эти префиксы нужны? Сразу нужно писать без префиксов и в тех браузерах, что реализовали это свойство, оно будет работать. Кто хочет — использует, кто не хочет — нет.
Only those users with full accounts are able to leave comments. Log in, please.