Вещь, которую я ненавижу больше всего в CSS3, состоит в том, что всегда существует два свойства, которые необходимо поместить, чтобы сделать один эффект. Я думаю, что это не профессионально, и увеличьте размер CSS. Например, почему они не объединяются -webkit-border-radius
и -moz-border-radius
в border-radius
Вообразите, есть ли у нас 10 браузеров, мы запишем 10 строк, чтобы сделать эффект скругленного угла? Кто-либо может объяснить?
Это потому, что они зависят от производителя. Свойства с префиксом -webkit-
и -moz-
являются не стандартными свойствами. Такое «пространство имен» позволяет поставщикам тестировать новые интересные функции, и если они хороши, их можно включить в стандарты. Вот что происходит с CSS3: Mozilla и команда Webkit пробовали крутые вещи, и теперь они станут стандартом. Просто это еще не сделано. В конце концов, это станет постоянным свойством border-radius
.
Это явный способ указать, что не во всех браузерах что-то будет работать. Например, -webkit-transition-property
работает только в браузерах на основе Webkit.
В любом случае, -webkit-border-radius
и -moz-border-radius
не работают одинаково. Это потому, что каждому поставщику, даже если они делают похожие вещи, разрешено реализовывать функции так, как они хотят. Стандарт устанавливает стандартный способ, но каждый волен делать все, что хочет, в своем собственном пространстве имен.
-webkit-border-radius
и -moz-border-radius
были созданы до того, как стандарт границ CSS3 был завершен (он все еще не утвержден - в настоящее время это кандидатская рекомендация).
Стандарт требует только border-radius
, как видно из спецификации.
Они специфичны для mozilla и webkit - после утверждения стандарта это должно измениться на border-radius
во всех поддерживающих браузерах.