Правила CSS3 приносят много интересных функций.
Взять, например, border-radius . Стандарт гласит, что если вы напишите это правило:
div.rounded-corners {
border-radius: 5px;
}
Я должен получить радиус границы 5 пикселей.
Но ни Mozilla, ни WebKit не реализуют это. Однако они реализуют одно и то же, с одинаковыми параметрами, с другим именем (-moz-border-radius
и -webkit-border-radius
соответственно).
Для того, чтобы удовлетворить как можно больше браузеров, вы должны получить следующее:
div.rounded-corners {
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
Я вижу два очевидных недостатка:
- Скопируйте и вставьте код. Это имеет очевидные риски, которые я не буду обсуждать здесь.
- Валидатор W3C CSS не будет проверять эти правила.
В то же время я не вижу очевидных преимуществ.
Я считаю, что люди, стоящие за Mozilla и Webkit, умнее меня. Должны быть веские причины, чтобы все было структурировано таким образом. Просто я их не вижу.
Итак, я должен спросить вас, люди: почему это так?