In de webtip van vandaag gaan we kijken hoe we PHP code kunnen gebruiken in een CSS stylesheet. Op deze manier kun je dynamische CSS stylesheets maken, waardoor je een website in een handomdraai een geheel andere layout kunt geven. Zo kun je deze methode bijvoorbeeld gebruiken om verschillende kleurenthema's en/of thema's te kunnen gebruiken op je website. Laten we maar direct eens kijken hoe dit in zijn werk gaat.
Als eerst maken we een php bestand aan, bijvoorbeeld style.php. Omdat dit natuurlijk geen CSS bestand is, moeten we de browser laten denken dat dit wel zo is. Dit kunnen we doen door de PHP functie 'header()', deze functie bepaald de HTTP headers zoals deze gelezen worden door de browser. Hier in staan o.a. het type document (een css stylesheet in ons geval). Style.php ziet er nu als volgt uit:
<?php
header('Content-Type: text/css');
if ($_GET['theme'] == 'black') {
// Achtergrondkleur voor zwart thema
$backcolor = '000';
} elseif ($_GET['theme'] == 'red') {
// Achtergrondkleur voor rood thema
$backcolor = 'FF0000';
}
?>
body {
background: #<?php echo $backcolor; ?>;
}
Als we de stylesheet vervolgens laden in ons HTML document:
<link rel="stylesheet" type="text/css" media="screen" href="style.php?theme=black" />
Zien we dat de website een zwarte achtergrond krijgt. Willen we de rode achtergrond hebben, dan gebruiken we vanzelfsprekend 'style.php?theme=red' en krijgt de achtergrond de kleur '#FF0000'.
Op deze manier kun je zelf helemaal spelen met de manier waarop een website wordt weergegeven. Je kunt het zelf zo ingewikkeld maken als je wilt!

header('content-type: text/css');
?>
body
{
<?
echo ($_GET['theme'] == 'black') ? 'background:#000' : 'background:#ff0000';
?>
}
?>