Подтвердить что ты не робот

Почему в CSS3 есть -moz-XXX и -webkit-XXX?

То, что я больше всего ненавижу в CSS3, заключается в том, что всегда есть два свойства, которые вы должны использовать, чтобы сделать один эффект. Я думаю, что это не профессионально, и увеличить размер CSS. Например, почему они не объединяют -webkit-border-radius и -moz-border-radius в border-radius

Представьте себе, если у нас 10 браузеров, будем ли мы писать 10 строк, чтобы сделать эффект округленного угла? Кто-нибудь может объяснить?

4b9b3361

Ответ 1

Это потому, что они специфичны для поставщиков. -webkit- и -moz- -предоставляемые свойства - это не стандартные свойства. Это "namespacing" позволяет продавцам тестировать новые интересные функции, и если они великолепны, они могут быть включены в стандарты. Это то, что происходит с CSS3: Mozilla и команда Webkit попробовали классные вещи, и теперь они станут стандартными. Это еще не сделано. В конце концов это станет согласованным свойством border-radius.

Это ясный способ указать, что что-то не ожидается для всех браузеров. Например, -webkit-transition-property работает только с браузерами на основе Webkit.

В любом случае -webkit-border-radius и -moz-border-radius точно не работают. Это потому, что каждому поставщику, даже если они делают подобные вещи, разрешено реализовать функции так, как они хотят. Стандарт установит стандартный способ, но каждый может делать все, что захочет, в своем собственном пространстве имен.

Ответ 2

-webkit-border-radius и -moz-border-radius были созданы до того, как стандарт границ CSS3 был полным (это еще не утвержденный стандарт - в настоящее время это рекомендация кандидата).

Стандарт вызывает только border-radius, как вы можете видеть из спецификация.

Они специфичны для mozilla и webkit - после утверждения стандарта это должно быть border-radius для всех поддерживающих браузеров.