Почему таблицы стилей пользовательского агента браузеров используют свойства CSS с префиксом? - PullRequest
8 голосов
/ 01 марта 2012

На днях я смотрел, как браузеры (я использовал chrome, но я предполагаю, что это применимо ко всем) форматируют HTML-элементы, используя таблицы стилей агента пользователя .

При использованииblockquote, я нашел это:

blockquote {
 -webkit-margin-before: 1em;
 -webkit-margin-after: 1em;
 -webkit-margin-start: 40px;
 -webkit-margin-end: 40px;
}

Выглядит хорошо.Но почему они не могли использовать что-то более подобное?:

blockquote {
 margin-left:/*whatever*/;
 margin-top:/*whatever*/;
 margin-right:/*whatever*/;
 margin-bottom:/*whatever*/;
}

Это случилось со мной, и я подумал, что это довольно странно.

Ответы [ 2 ]

7 голосов
/ 01 марта 2012

Некоторые браузеры используют такие правила 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 Хотя это кажется довольно туманным.

1 голос
/ 01 марта 2012

Чтобы помочь разработчикам увидеть, какие элементы являются настройками браузера по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...