Css dynamique

Description

Petite class sans prétention pour générer des fichiers CSS avec PHP.

L'utilité du script étant d'avoir un Template dynamique sous n'importe quel CMS (ou autre site de votre conception). En récupérant les paramètres que l'utilisateur à choisie dans sont administration du Template, il est alors facile de générer un fichier CSS.

Il y a surement des améliorations et/ou corrections à apporter, je ferais le nécessaire suivant les commentaires.

Source / Exemple :


<?php

$cssfile = 'style.css';

require 'xcss.inc.php';
$xcss = new XCss($cssfile);

// Attention : si vous avez déjà générer une fois le fichier CSS et que vous apporter des modifications aux lignes "$xcss->Add"
// Il vous faut réduire le temp de péremption "$xcss->maxtimefileoutdated" ou désactiver la péremption du fichier CSS "$xcss->activefileoutdated"
//$xcss->activefileoutdated = false;
//$xcss->maxtimefileoutdated = 1;

$xcss->Add('body', 'font', '100%/1.4 Verdana, Arial, Helvetica, sans-serif');
$xcss->Add(null, 'text-align', 'center');
$xcss->Add(null, 'background', 'url("./images/image.png") no-repeat, linear-gradient(top, rgba(255, 255, 255, 0.21) 0, rgba(140, 140, 140, 0.07) 1050px) no-repeat, url("./images/page.png"), linear-gradient(top, #FFFFFF 0, #B2B2B2 1050px) no-repeat');
$xcss->Add(null, 'background-attachment', 'fixed, fixed, fixed, fixed !important');

$xcss->Add('.ex1', 'width', '80%');
$xcss->Add(null, 'margin', '0 auto');
$xcss->Add(null, 'padding', '10px');
$xcss->Add(null, 'background', '#FFFFFF');
$xcss->Add(null, 'border-radius', '10px');
$xcss->Add(null, 'box-sizing', 'border-box');
$xcss->Add(null, 'box-shadow', '0 0 10px 5px rgba(0, 0, 0, 0.12)');

$xcss->BuildCSS();
	
?>

<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Exemple</title>
<link href="<?php echo $cssfile; ?>" type="text/css" rel="stylesheet" />
</head>
<body>
	<div class="ex1">Div Exemple 1</div>
</body>
</html>

Conclusion :


Fonctionnalités :

- En instanciant la class on définie le fichier CSS à créer
- Possibilité d'activé ou pas la péremption du fichier CSS et de définir le temps avant péremption.
- Possibilité d'activé ou pas l'ajout automatique des préfixes (mode de compatibilité) dans le fichier CSS.
- Le mode de compatibilité intègre les préfixes de chaque navigateur. Il manque surement d'autre mode de compatibilité.
Mode de compatibilité, exemple : si le mode est activé et que l'on désire inscrire dans le fichier CSS "box-sizing:border-box;", le mode permettra de rajouter automatiquement les lignes pour Mozilla "-moz-box-sizing:border-box;" et Safari "-webkit-box-sizing:border-box;".

Je compte sur les membres pour apporter des commentaires constructif afin d'améliorer cette class.

Merci.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_Yanith)