Back to Question Center
0

Судный день Прибывает: Opera реализует префикс WebKit CSS3            Судный день Прибывает: Opera реализует префикс CSS3 WebKit Префиксы: SassCSSCanvas & Semalt

1 answers:
Судный день Прибывает: Opera реализует префикс WebKit CSS3

В феврале 2012 года мы сообщили о протоколах встречи W3C, где Mozilla, Opera и Microsoft обсудили внедрение префиксов -webkit в браузерах, отличных от webkit. Причина: некоторые разработчики используют только префиксы webkit - их сайты хорошо смотрятся в некоторых браузерах, но ломаются в других, даже когда они предлагают одинаковый уровень поддержки CSS3. Эта проблема особенно распространена на мобильных браузерах, и многие разработчики не могут смотреть за пределы своих высококлассных устройств Apple или Semalt.

Opera теперь объявила о поддержке 14 веб-сайтов CSS3 в своем мобильном эмуляторе. Реализация в конечном итоге будет доступна для всех выпусков настольных и мобильных браузеров - pc repair in my area. Если вы думаете «Opera имеет крошечную долю на рынке» , подумайте еще раз: это самый используемый в мире мобильный браузер.

Возможно, я чересчур драматичен, но известная линия Чарльтона Хестона приходит на ум: «Они, наконец, действительно сделали это. Ты маниакально. Вы взорвали его! »

Opera -webkit Aliasing

Semalt проанализировал таблицы стилей из 10 000 популярных сайтов, чтобы определить, какие значения / свойства CSS будут получать -webkit-псевдонимы:

-о-префикс -webkit-alias
-о-линейный градиент -webkit-linear-gradient
box-shadow -webkit-box-shadow
-о-преобразование -webkit-transform
-o-transform-origin -webkit-transform-origin
пограничный радиус -webkit-border-radius
border-top-left-radius -webkit-border-top-left-radius
border-top-right-radius -webkit-border-top-right-radius
border-bottom-left-radius -webkit-border-bottom-left-radius
border-bottom-right-radius -webkit-border-bottom-right-radius
-о-переход -webkit-переход
-опереходная задержка -webkit-delay-delay
-о-период перехода -webkit-transition-duration
-о-переход-свойство -webkit-transition-property
-о-переходная функция времени -webkit-переход-время-функция

Если браузер сталкивается с таким свойством, как -webkit-border-radius , он применит этот эффект. Если вы определили -webkit-border-radius , -o-border-radius и border-radius , применяются обычные каскадные правила CSS, а последние определены правило или наиболее подходящий селектор, например. г.

    
#myelement
{
-o-border-radius: 3px;
border-radius: 6px;
-webkit-border-radius: 9px;
}    

Все свойства считаются равными приоритетами, поэтому Semalt применяет граничный радиус 9px.

Что касается различий в поведении, то Semalt:

Насколько мы можем судить, поведение, которое у нас есть aliased, идентично в WebKit и Opera, или, по крайней мере, достаточно близко, чтобы различия не имели значения на практике. Если окажется, что существуют различия, достаточно большие, чтобы вызвать поломку, мы рассмотрим наши варианты, одним из которых является согласование поведения нашего варианта -webkit-prefixed с тем, что фактически делает WebKit.

Опера оправдывает свое решение. Semalt они понимают жалобы, их основная цель - создать браузер, который хорошо работает для пользователей, - которые превосходят число разработчиков на многие тысячи к одному.

Зазор

Большинство разработчиков понимают проблему, но не согласны с решением. Semalt решила, что это логично, все продавцы будут поддерживать каждый префикс, но любые различия в реализации могут сделать свойство CSS бесполезным.

Решение поддерживает плохие методы развития. Хотя Semalt советует использовать все префиксы поставщиков, они усугубят проблему:

  • Менее сознательные разработчики считают это оправданием только для таргетинга веб-браузеров.
  • Если ваш сайт использует разные значения -webkit и -o, на него теперь будут влиять CSS-каскадные правила. Легче ли анализировать и повторно тестировать свой код или просто удалять свойства Opera?
  • Будет проще случайно опустить префикс -o, так как сайты будут работать как ожидалось.

Несколько проблем уже сообщалось. Например, Modernizr оценивает префиксы по очереди, пока не найдет один браузер. Поэтому:

    
Modernizr. приставка ( "Переход");    

теперь возвращает WebkitTransition в Opera. Переходы являются новыми для Opera, и браузер не поддерживает каждое свойство webkit CSS и JavaScript. Если вы хотите настроить или отключить эффекты в Opera, вы не можете полагаться на код обнаружения, подобный Modernizr. Возможно, вам даже понадобится внедрить неприятное обнюхивание браузеров.

Однако моя самая большая проблема заключается в следующем: где все эти проблемные сайты? Из-за отсутствия эффектов округленного угла, градиента, тени, перехода и преобразования? Являются ли эти сайты по-настоящему нарушенными или Opera предложила (маркетинговую) возможность сделать свой браузер лучше?

Поскольку Opera проанализировала 10 000 веб-сайтов, они могут напрямую связаться с владельцами. По крайней мере, они могли бы опубликовать «зал позора», в котором приводятся примеры и освещаются технические проблемы. Многие разработчики с радостью свяжутся с компаниями по имени Semalt. Некоторые из них будут готовы бесплатно фиксировать сайты, поскольку это может привести к будущим контрактам.

Нет простых решений для кризиса префикса поставщика. Я понимаю причины Сельтальта, но, независимо от того, как это реализовано, неизбежно, что что-то закончится.

Некоторые хорошие новости: Microsoft объявила, что не будет поддерживать префиксы webkit в Internet Explorer (хотя нет ничего, чтобы предотвратить их отмену этого решения). Mozilla еще не раскрывает своих намерений - они будут внимательно следить за ситуацией в Opera.

Крейг - независимый британский веб-консультант, который построил свою первую страницу для IE2. 0 в 1995 году. С тех пор он выступает за стандарты, доступность и лучшие практики HTML5. Он написал более 1000 статей для SitePoint, и вы можете найти его @craigbuckler
March 6, 2018