Зачем писать одно и тоже CSS свойство для каждого браузера?
Часто встречаю записи следующего характера:
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-o-transition: opacity 0.5s ease;
transition: opacity 0.5s ease;
Само свойство transition и opacity я взял для примера, меня интересует зачем перечислять -webkit, -moz, -o когда последнее (просто transition) свойство - поддерживают все вышеперечисленные браузеры? Я бы понял еще если бы значения для каждого браузера было бы разным, но если оно одинаковое...
Суть в том, что часто новые фишки появляются в браузерах с вендорными префиксами, и лишь в более поздних версиях появляется поддержка без префикса, вот для таких старых версий они и добавляются. Кстати некоторые свежие свойства могут даже последние версии браузеров поддерживать только с префиксами. Так что добавлять префиксы или нет решать вам. Если используете sass можно миксины создавать для автоматизации.
последнее (просто transition) свойство - поддерживают все вышеперечисленные браузеры?
Если бы это было правдой, то действительно, никакого смысла указывать вендорные префиксы бы не было. Но это не так. caniuse.com/#feat=css-transitions
Решать, использовать или нет вендорные префиксы, нужно в зависимости от проекта и минимально поддерживаемых версий браузеров.
P.S. Сегодня уже был вопрос на эту тему.