Css dynamique

Soyez le premier à donner votre avis sur cette source.

Vue 6 700 fois - Téléchargée 1 023 fois

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

Ajouter un commentaire

Commentaire

Messages postés
371
Date d'inscription
samedi 1 juin 2002
Statut
Membre
Dernière intervention
17 juin 2013

Bonjour,
Ca fonctionne, c'est commenté, bon travail, même si l'utilité n'est pas forcement évidente.
Comme ca n'a pas était dit, ne pas oublier les images pour tester une page ensuite, ou/et changer le nom dans le script.
Reste les liens à traiter...
Bonne prog à tous,
@+ JLN

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)