Вновь мой другой ответ спустя три года, я могу окончательно сказать, что есть гораздо лучшее решение. Хотя дни префикса border-radius
стилей по существу закончены, мы можем способствовать хорошему повторному использованию кода для подобных ситуаций.
SASS - расширенный синтаксис CSS, который добавляет огромное количество удобных функций, включая переменные, функции и mixins. Для создания CSS требуется отдельный этап компиляции, но преимущества наличия более мощного языка разработки позволяют иметь гораздо более удобный код. Использование mixin, пример границы радиуса от лица выглядит следующим образом:
@mixin border-radius($width) {
-moz-border-radius: $width;
-webkit-border-radius: $width;
border-radius: $width;
}
.mydiv {
@include border-radius(5px);
}
В действительности, вы не должны поддерживать свои собственные Примеси CSS-совместимости. Вот почему у нас есть другие структуры, такие как Compass - разработчики фреймворков отслеживают, какие браузеры используют префиксы и управляют совместимостью, в то время как вы можете сосредоточиться на получении вашего сайта. Они даже имеют твердый линейный градиент поддержки, так что вы могли бы написать:
.mydiv {
@include background-image(linear-gradient(left top, white, #ddd));
background-image: linear-gradient(to bottom right, white, #ddd);
}
Лучшая часть этого решения заключается в том, что вам не нужно возиться с PHP или конфигурации Apache - просто запустить несколько простых команд или использовать инструмент для компиляции CSS, а затем включить их, как и любую другую таблицу стилей.
nope, я ищу кросс-браузер css wrapper – cometta
Думаю, я не совсем уверен, что вы имеете в виду. Конечный продукт, который отправляется в браузер, должен быть простой таблицей стилей CSS - они ничего не будут поддерживать. Любая дополнительная функциональность (например, то, что вы ищете) должна быть реализована на каком-то серверном процессоре. Вот что делают такие структуры, как LESS (который использует Ruby). – derekerdmann
Это довольно приятное решение. Возможно, сложно работать с разными/индивидуальными значениями «border-radius» для каждого угла. +1 –