Зачем браузерам нужны префиксы поставщиков для CSS3? Что мешает им просто использовать стандартные свойства CSS3? [дубликат]

Возможные Дубликаты:
почему браузеры создают префиксы поставщиков для свойств CSS?

например, если у меня есть изображение, которое я хотел бы повернуть, почему Google Chrome ничего не делает, когда я использую transform: rotate(50deg); но работает нормально, когда я использую -webkit-transform: rotate(50deg);?

разве не весь смысл иметь стандарт, чтобы сделать его таким, чтобы программист / дизайнер писал один и тот же код только один раз, а не один раз для каждого из браузеров? Есть это что-то, что будет изменено в обозримом будущем или так будет всегда? Я только начинаю использовать CSS3 и это кажется мне очень странным.

2 ответов


CSS3 еще не был официально принят в качестве полного стандарта-это все еще проект.

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


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

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

-o-transition: all 1s linear;
-ms-transition: all 1s linear;
-moz-transition: all 1s linear;
-webkit-transition: all 1s linear;
transition: all 1s linear;

поскольку таблицы стилей каскада получают свое имя для каскадирования. Стандартный оператор будет переопределять остальные, когда он станет доступным.