Passando parâmetros para arquivos CSS
[ad#texto]
Muitos desenvolvedores Web se veem obrigados a espalhar códigos CSS em meio ao HTML, JavaScript ou PHP por um simples motivo: o seu código CSS precisa receber valores dinamicamente, um caso difícil de ser resolvido, bem, difícil até agora.
Na verdade existem duas formas de conseguir enviar valores para um arquivo CSS, a primeira é editando o arquivo .htaccess e por consequência só irá funcionar em servidores Apache, mas é bem provável que você encontre formas alternativas em outros servidores web, esta técnica não envolve nenhuma alteração mais profunda no código-fonte da sua aplicação web e toda a alteração consiste apenas no lado do servidor.
Consiste em incluir uma linha como esta no seu arquivo .htaccess:
AddType application/x-httpd-php .css
Está linha irá indicar para o servidor Apache que arquivos com a extensão CSS deverá ser interpretados como um arquivo PHP, logicamente captura de dados via GET e POST será possível de ser implementado, somente se lembre de tomar cuidado com a segurança de sua aplicação web.
A segunda técnica não necessita de alterações nas configurações do servidor web e por isso toda a implementação é realizada via código-fonte da própria aplicação e seu uso se torna universal. Esta técnica somente aceita parâmetros enviados via GET e consiste em forçar um cabeçalho indicando que se trata de um arquivo CSS e nomeá-lo com a extensão .PHP, assim você terá um arquivo PHP (poderá utilizar todo o poder de programação da linguagem) e o mesmo será tratado como um CSS. Veja o exemplo abaixo:
<?php header('Content-type:text/css'); ?>
body {
background-color: <?php echo (isset($_GET['fundo']) && $_GET['fundo'] == 'verde') ? '#0f0' /* Verde */ : '#00f' /* Azul */; ?>
}
Viu, código CSS e PHP juntos.
Fonte: PHPIT