Все свойства которым нужны префиксы. Браузерные префиксы CSS. Рабочая группа W3C

Префиксы конкретных браузеров

Ранее упоминалось, что спецификация CSS3 – это набор модулей, которые постепенно интегрируются производителями браузеров. Иногда интеграция включает в себя экспериментальную поддержку. Это означает, что пока спецификацию пишут, обсуждают и критикуют в W3C, изготовитель браузера может решить добавить поддержку для каких-то свойств, чтобы опробовать их на практике. В последнее время такая практика стала естественной частью процесса, и обратная связь, получаемая во время экспериментального использования, часто применяется, чтобы внести поправки в спецификацию.

С другой стороны, изготовитель браузера может захотеть ввести экспериментальное свойство, которое не входит ни в какой предложенный стандарт, но может получить такой статус когда-либо.

Для такой экспериментальной поддержки свойств CSS часто вводятся браузерные префиксы – например, так:

– webkit – border-radius

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

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

В табл. 1.03 перечислены самые широко используемые браузеры и связанные с ними префиксы. Мы будем использовать префиксы WebKit, Mozilla и Opera в части, касающейся CSS3 в примерах из следующих глав.

Таблица 1.03. Наиболее широко используемые браузеры и связанные с ними префиксы

Из книги Разгони свой сайт автора Мациевский Николай

8.2. Несколько советов для браузеров Ускоряем загрузку страниц в Firefox 3 В Firefox можно увеличить скорость загрузки и отображения страниц, значительно повысив комфортность работы в Интернете. Что для этого нужно сделать:Открыть страничку настроек, набрав в адресной строке

Из книги Интернет-разведка [Руководство к действию] автора Ющук Евгений Леонидович

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

Из книги Программирование автора Козлова Ирина Сергеевна

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

Из книги Работа в Интернете автора Макарский Дмитрий

Использование браузеров Как уже упоминалось, основное предназначение браузера – просмотр веб-страниц, поэтому стоит отдельно поговорить об особенностях навигации в Интернете с использованием браузеров. Начнем с основных элементов управления, без которых нельзя

Из книги Цифровой журнал «Компьютерра» № 12 автора Журнал «Компьютерра»

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

Из книги Компьютерра PDA 20.03.2010-26.03.2010 автора Журнал «Компьютерра»

Opera наверстала отставание от других браузеров Андрей Письменный Бета-версия браузера Opera 10.50 снабжена совершенно новым интерпретатором языка JavaScript. Он называется Carakan и работает значительно быстрее, чем прежние версии. Это означает, что Opera, наконец, догнала прочие

Из книги XSLT автора Хольцнер Стивен

Opera наверстала отставание от других браузеров Автор: Андрей ПисьменныйОпубликовано 22 марта 2010 годаБета-версия браузера Opera 10.50 снабжена совершенно новым интерпретатором языка JavaScript. Он называется Carakan и работает значительно быстрее, чем прежние версии. Это означает, что

Из книги Путь программиста: от 100$ до 10000$ в месяц автора Никитин Александр

Преобразование документов XML при помощи браузеров Поддержка XSLT включена и в Microsoft Internet Explorer, и в Netscape Navigator. Из этих двух браузеров Internet Explorer обладает гораздо большей поддержкой XSLT, и здесь я буду использовать версию 5.5 этого браузера. О поддержке XSLT в Internet Explorer вы можете

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

Шаг 2. Advanced Новичок. Опыт работы <= 0,5 года. Знания в рамках школьных и институтских курсов информатики + полученные на работе навыки решения конкретных задач. Этот период охватывает промежуток времени от получения предложения о работе до окончания испытательного срока.

Из книги CSS3 для веб-дизайнеров автора Сидерхолм Дэн

6.4.3. Специальные возможности браузеров Неужели в этом параграфе будет рассказываться, как работать с браузерами? Тогда его можно вообще пропустить или прочитать по диагонали. Нет, уважаемый читатель, я и не сомневался, что вы умеете работать с браузерами. Сейчас мы

Из книги Цифровой журнал «Компьютерра» № 225 автора Журнал «Компьютерра»

Как работают браузерные префиксы Вот как CSS работает на практике с браузерными префиксами. Возьмем свойство border-radius в качестве примера. Положим, мы хотим скруглить углы элемента с радиусом 10 пикселей; вот как это делается:.foo { – webkit-border-radius: 10px; – moz-border-radius: 10px; border-radius: 10px;

Из книги Установка, настройка и восстановление Windows 7 на 100% автора Ватаманюк Александр Иванович

Запасной вариант для всех браузеров Браузеры, которые пока что не поддерживают множественные фоны, проигнорируют свойство background целиком. Вот почему мы определили свойство background-color отдельно.На рис. 5.05 показано, как сайт выглядит в IE7: множественные фоны игнорируются, и

Из книги автора

А как насчет других браузеров? Открывая форму в Internet Explorer 7 – браузере с нулевой поддержкой CSS3, – мы видим вполне приемлемую рабочую форму (рис. 6.15). Это замечательно! Все улучшения, добавленные свойствами CSS3, были проигнорированы; остался скелет формы, работающий так, как

Из книги автора

А как насчет остальных браузеров? Добавление CSS-анимации – это первый раз в этой книге – когда мы улучшали пользовательский опыт только для одного производителя браузеров: WebKit. Одна из основных причин, по которой CSS3 используется все больше и больше, – новые свойства

Из книги автора

7 альтернативных браузеров для iPad Олег Нечай Опубликовано 15 мая 2014 Строго говоря, для iOS существует только один полноценный браузер - Safari. Все альтернативы - это фактически графические надстройки и наборы Java-скриптов для движка с открытым

Из книги автора

12.3. Разрешение и блокировка конкретных программ Еще один очень эффективный способ ограничить доступ к программам – это создание списка программ, которые можно запускать. Все программы, которые не попали в этот список, соответственно, запускать запрещено.Чтобы получить

Браузерные префиксы CSS

Когда разработчики браузера внедряют новое свойство, значение или селектор, еще

не перешедшее в статус Candidate Recommendation (Кандидат в рекомендации), они

добавляют в начале свойства префикс с кодом механизма рендеринга. Например,

Moz-border-radius — это версия свойства border-radius, которая в настоящее

время используется в браузерах на базе Mozilla, таких как Firefox. В табл. 1.4 при-

веден список всех доступных префиксов.

Таблица 1.4. Браузерные префиксы свойств CSS

* В механизме рендеринга Presto свойства, связанные с речью, предваряются пре-

фиксом -xv-, а не -o-.

В этой книге мы будем использовать префиксы -moz-, -o- и -webkit-. Прочие не

так широко используются и не потребуются для рассматриваемых методов.

Зачем они нужны

Уникальные для производителей префиксы позволяют разработчикам испытывать

новые свойства, значения и селекторы до того, как соответствующие спецификации

будут завершены, — это отличный способ протестировать их «в полевых условиях»,

понять, требуют ли они корректировки и доработки. Если бы разработчики сразу

начали использовать стандартные свойства, не дополненные префиксами, им при-

шлось бы ограничиваться исключительно поведением, предусмотренным для этих

свойств первоначально.

В таком случае, продолжая применять стандартные свойства, разработчики ожидали

бы, что их поведение останется единообразным и предсказуемым. Если через какое-

то время создатели браузеров поменяют то или иное свойство — например, из-за

ошибок в первоначальной реализации или изменений самой спецификации — это

поставит под угрозу целостность всех существующих сайтов, на которых данное

свойство уже используется. Получается, что не только разработчики оказываются

в плену у первой несовершенной реализации — пример с них приходится брать

и создателям всех браузеров, и даже самому консорциуму W3C. Эрик Мейер (Eric

Meyer) в своей превосходной статье «Prefix or Posthack» приводит два примера такого

неудачного развития событий, взятых из реальной жизни (http://www.alistapart.

com/articles/prefix-or-posthack).

Но даже если создатели одного браузера не меняют реализацию свойств, чтобы не сло-

мать существующие сайты, это может сделать W3C. Что произойдет, если создатели

остальных браузеров станут применять новое поведение, описанное в обновленной

спецификации? В разных браузерах одно и то же стандартное свойство будет ото-

бражаться по-разному. Именно так обстояли дела во времена Netscape 4, Mac IE 5 и

Windows IE 6. Число сложных и нестабильных исправлений посторонних ошибок,

совершенно не связанных со свойствами, первоначально требовавшими коррек-

тировки, быстро увеличивалось, потому что нестандартное поведение браузера не

изолировалось от окружающего мира в уникальных для этого браузера свойствах.

Разработчики понимают, что свойства с префиксами — экспериментальные и могут

быть изменены. Это дает создателям браузеров дополнительную свободу, позволяя

при необходимости вносить изменения и, следовательно, быстрее выпускать и ис-

правлять новые свойства. Разработчики сайтов и приложений, в свою очередь,

скорее получают возможность применить новые свойства и поучаствовать в про-

цессе доработки путем тестирования в реальных условиях.

Когда спецификация достигает более стабильного состояния, а разработчикам

браузеров удается добиться правильной реализации свойства, от префикса можно

избавляться. Если разработчики сайтов добавили в свои таблицы стилей версию

свойства без префикса — а делать это весьма полезно, чтобы не создавать проблем

с совместимостью в будущем, — веб-страницы автоматически начинают отобра-

жаться в соответствии с последними изменениями в спецификации свойства. Если

же они не предусмотрели версию свойства без префикса, то ничего страшного не

произойдет — она продолжает работать так же, как раньше. Ни один из сайтов, где

используется версия с префиксом, не сломается.

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

Оказывается, самое прямое! Вендорные префиксы — это приставки к названию CSS свойства, которые добавляют производители браузеров для нестандартизированных свойств.

Согласно спецификации CSS 2.1 CSS идентификаторы, которые начинаются с "-" или "_" зарезервированы для CSS расширений браузеров. Наличие этих знаков в начале свойства гарантирует то, что в будущем расширения браузеров никогда не пересекутся со стандартными CSS свойствами. Т.е. ни один браузер не начнет «случайно» понимать свойство, которое для него не предназначено.

Какие они бывают?

Вендорные префиксы самых распространенных браузеров приведены в таблице ниже:

Как это работает?

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

Например, CSS свойство , отвечающее за прозрачность элемента, кроссбраузерно используется так:

Filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /* IE 5.5-7*/ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";/* IE 8*/ -moz-opacity:0.5;/* Mozilla 1.6 */ -khtml-opacity:0.5;/* Konqueror 3.1, Safari 1.1 */ opacity:0.5/* Safari 2.0+ , Chrome, Firefox Opera, */

Для чего это нужно?

В своем блоге разработчики Internet Explorer называют три причины использования вендорного префикса -ms- для браузера IE8:

  1. Если это свойство разработано только для Microsoft IE и не описано в спецификации или CSS модуле
  2. Если CSS модуль, к которому относится это свойство находится в разработке W3C и еще не достиг статуса кандидата в рекомендацию (Candidate Recommendation)
  3. Если свойство только частично реализует функции свойства, описанного в CSS модуле или спецификации

Остальные разработчики используют вендорные префиксы по схожим причинам. Например Mozilla имеет огромный перечень индивидуальных CSS свойств и их значений с вендорными префиксами -moz-, которые разработаны специально для Firefox, и не описаны ни в модуле CSS ни в спецификации.

Кроме того, разработчики Microsoft ухитрились с помощью вендорных префиксов скрывать от валидатора невалидные конструкции. Это касается, прежде всего, фильтров. Для IE 5.5-7 фильтр выглядел так:

Filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50); /* IE 5.5-7*/

Такая конструкция пройти валидацию в принципе не может! Но ее преспокойно проходит новая конструкция того же фильтра, но уже для IE 8:

Ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";/* IE 8*/

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

Приятный бонус

Благодаря вендорным префиксам производители браузеров уже внедряют экспериментальные CSS3 свойства на свой страх и риск.

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

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

Webkit-transition:background-color 5s ease-in 3s;/* работает в Safari 3.1+, Chrome 1+ */ -o-transition:background-color 5s ease-in 3s;/* работает в Opera 10.5+ */ -moz-transition:background-color 5s ease-in 3s;/* планируется для Firefox 4.0+ */ transition:background-color 5s ease-in 3s;/* в прямом виде не поддерживает ни один браузер */

Живой пример можно посмотреть .

Что такое CSS хаки или Вендорные префиксы
Если браузер не поддерживает и не понимает какое-то определённое CSS свойство, то каким образом начинает вдруг понимать это свойство после применения хака?
Благодаря вендорным префиксам производители браузеров уже внедряют экспериментальные CSS3 свойства на свой страх и риск.

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

Вендорные префиксы заточенны под конкретный браузер и позволяют ему понимать экспериментальные CSS свойства и одновременно игнорировать записи, предназначенные для других браузеров, т.е. ни один браузер не начнет "случайно" понимать свойство, которое для него не предназначено.

Следует помнить, что свойства с вендорными префиксами не соответствуют стандартам и не пройдут валидацию, однако, их можно применять, т.к. в умелых руках это очень мощный инструмент. И многие ведущие студии рунета этим пользуются.

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

Основные причины использования вендорных префиксов:

1. Если это свойство разработано только для определённого браузера и не описано в спецификации или CSS модуле
2. Если CSS модуль, к которому относится это свойство находится в разработке W3C и еще не достиг статуса кандидата в рекомендацию (Candidate Recommendation)
3. Если свойство только частично реализует функции свойства, описанного в CSS модуле или спецификации

Благодаря вендорным префиксам производители браузеров уже внедряют экспериментальные CSS3 свойства на свой страх и риск.

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

Вендорные префиксы самых распространенных браузеров:

Вендорный префикс Производитель Браузер Браузерный движок
-o-, -op-, -xv- Opera Software Opera Presto
-moz- проект Mozilla Firefox, SeaMonkey, Camino и др. Gecko
-ms- Microsoft Internet Explorer 8 Trident
-khtml- проект KDE Safari до версии 3, Konqueror и др. KHTML
-webkit- Apple Safari 3+, Google Chrome и др. WebKit
-icab- Apple iCab WebKit

Пример написания:

border-radius:15px 0 15px 0; /* Валидное свойство CSS 3 скругление углов, значение(цифра) задаёт радиус скругления*/
-moz- border-radius:15px 0 15px 0; /* Firefox */
-webkit- border-radius:15px 0 15px 0; /* Safari, Chrome */
-khtml- border-radius:15px 0 15px 0; /* Konqueror */



В продолжение темы:
Windows

Часть вторая : "Важнейшие характеристики каждого семейства процессоров Intel Core i3/i5/i7. Какие из этих чипов представляют особый интерес" Введение Сначала мы приведём...

Новые статьи
/
Популярные