Для чего нужны префиксы свойств?
Продвинутые темы
Префиксы свойств (вендорные префиксы, `-webkit-`, `-moz-`) нужны для поддержки экспериментальных или нестандартизированных CSS-свойств в конкретных браузерах.
Что это
Вендорные префиксы позволяли использовать новые CSS-свойства, пока они были экспериментальными или не полностью стандартизированы, в конкретных движках:
- -webkit- — Chrome, Safari, новые Edge/Opera.
- -moz- — Firefox.
- -ms- — старый IE/Edge.
- -o- — старая Opera.
.box {
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s; /* стандартное — последним */
}Зачем нужны
- Ранняя поддержка новых свойств до финальной стандартизации.
- Кроссбраузерность — свойство работает в разных движках, пока не унифицировано.
Порядок
Префиксные версии — до стандартной; стандартная — последней (перекрывает при поддержке).
Актуальность сегодня
Большинство свойств стандартизированы — префиксы нужны редко. Управляют ими автоматически:
- Autoprefixer (PostCSS) — добавляет нужные префиксы по данным Can I Use и browserslist:
/* пишешь */
display: flex;
/* Autoprefixer добавит нужные префиксы под целевые браузеры */Коротко для собеседования
Вендорные префиксы (-webkit-, -moz-, -ms-) нужны для поддержки экспериментальных/нестандартизированных CSS-свойств в конкретных движках до финальной стандартизации. Стандартную версию пишут последней. Сегодня добавляются автоматически через Autoprefixer (PostCSS) по browserslist, вручную писать почти не нужно.