Браузерные префиксы с CSS-переходом при преобразовании
Согласно caniuse.com, для тех браузеров, которые поддерживают оба CSStransition
и CSStransform
Комбинаторно существует как минимум три разных типа:
-webkit-
префикс на обоихtransition
а такжеtransform
(например, Safari 6, браузер Android < 4.4).Те, которые требуют только-webkit-
префикс наtransform
(например, Chrome 3x).Те, которые требуют префиксов ни на одном (например, FF и IE10 / 11).Как я могу безопасно написать свойtransition
стили, чтобы они правильно анализировались в каждом типе? Я вижу два варианта:
-webkit-transition: -webkit-transform 300ms;
transition: -webkit-transform 300ms, transform 300ms;
или же
-webkit-transition: -webkit-transform 300ms;
transition: -webkit-transform 300ms;
transition: transform 300ms;
Теперь из-за браузеров типа 2 и типа 3 мне нужен переход без префикса дляи то и другое -webkit-transform
а также transform
, Проблема с первым вариантом состоит в том, что я беспокоюсь, что браузеры типа 2 и типа 3 не смогут анализировать вторую строку, поскольку они всегда будут содержать нераспознанное свойство. Вопрос в том, как браузеры обрабатывают недопустимые свойства внутриtransition
- игнорировать весьtransition
стиль или просто пропустить неверное свойство?
Я думал, что это можно смягчить, разделив его на два свойства, так что если одно из них не будет проанализировано, оно будет просто проигнорировано. Помимо того, что второй вариант немного многословен, я все еще задаюсь вопросом, а в случае браузеров типа 2 третийtransition
будет непонятным и "сброс" transition
вернуться к нулю.
Есть идеи, как это вообще работает? Кроме того, какие из них соответствуют будущим, когда Chromeи другие. переключиться с-webkit-transform
без префикса?transform