2010-07-25 3 views

ответ

3

лично я не знаю ни одного, но вы можете настроить CSS файлы, которые будут анализироваться с PHP, а затем написать функцию, которая выводит все, что вам нужно. Пример:

<?php 
function makeBorderRadius($radius) { 
    echo "-moz-border-radius: " . $radius . "\n"; 
    echo "-webkit-border-radius: " . $radius . "\n"; 
    echo "border-radius: " . $radius . "\n"; 
} 
?> 

#mydiv { 
    width: 50%; 
    background: #000; 
    <?php makeBorderRadius(5); ?> 
} 
+0

nope, я ищу кросс-браузер css wrapper – cometta

+0

Думаю, я не совсем уверен, что вы имеете в виду. Конечный продукт, который отправляется в браузер, должен быть простой таблицей стилей CSS - они ничего не будут поддерживать. Любая дополнительная функциональность (например, то, что вы ищете) должна быть реализована на каком-то серверном процессоре. Вот что делают такие структуры, как LESS (который использует Ruby). – derekerdmann

+0

Это довольно приятное решение. Возможно, сложно работать с разными/индивидуальными значениями «border-radius» для каждого угла. +1 –

0

Вновь мой другой ответ спустя три года, я могу окончательно сказать, что есть гораздо лучшее решение. Хотя дни префикса 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, а затем включить их, как и любую другую таблицу стилей.

Смежные вопросы