Почему существует-moz-XXX и - WebKit-XXX в CSS3?

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

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

26
задан Yi Jiang 15 October 2011 в 13:28
поделиться

2 ответа

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

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

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

29
ответ дан 28 November 2019 в 07:33
поделиться

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

Стандарт требует только border-radius, как видно из спецификации.

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

8
ответ дан 28 November 2019 в 07:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: