Некоторые браузеры используют такие правила CSS, потому что их спецификация еще не была завершена W3C, и, следовательно, если бы они оставили этот префикс выключенным, они рискнули бы из-за возможного отличия стандартного формата W3C и создания несовместимости между браузерами или между версиями одного и того же браузера, поскольку они изменяют формат на стандартный способ выполнения действий.
Это особая проблема для правил с несколькими аргументами. Главное, что может пойти не так, это то, что стандарт в итоге получит аргументы в другом порядке:
border-radius: 3px 3px 6px 6px;
box-shadow: 3px 3px 6px #fff;
... и т.д ... * * 1006
Добавление префикса является гарантией того, что если конечный стандарт окажется отличным от их реализации, ничего не сломается.
Что касается части о margin-before
вместо margin-left
, то, по-видимому, это связано с тем, что правило -webkit-margin-before
не эквивалентно margin-left
, а margin:before
, что является недавним предложением, направленным на заставить вещи работать в режимах RTL и вертикальной записи. Смотрите эту страницу: http://lists.w3.org/Archives/Public/www-style/2010Sep/0625.html Хотя это кажется довольно туманным.