Зачем браузерам нужны префиксы поставщиков для 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;
поскольку таблицы стилей каскада получают свое имя для каскадирования. Стандартный оператор будет переопределять остальные, когда он станет доступным.