Auto_css permet de générer des fichiers css à partir de fichiers masters et de raccourcis personnels,
d'une syntaxe native et de fonctions de génération de contenu.
Auto_css est capable de détecter les changements apportés à un des masters css ou à sa propre configuration pour régénérer automatiquement
les fichiers css finaux.
Si aucun changement n'est apporté, il ne régénère pas les fichiers css et évite ainsi une charge serveur trop importante.
- Copiez le fichier dans le même dossier que les fichiers css, ce qui est le plus logique. Vous pouvez toutefois le mettre ailleurs.
- Ajoutez la ligne suivante dans le fichier appelant normalement les feuilles de style
<?php include('CHEMIN/VERS/auto_css.php'); ?>
C'est tout !
Tout d'abord, il faut préciser le nom des fichiers css à traiter. On peut donner autant de fichiers
que l'on veut en les ajoutant dans l'array():
$css_files=array(
'style.css',
'style_admin.css',
);
Vous pouvez ensuite configurer le comportement d'auto_css de deux façons différentes:
Si vous avez plusieurs fichiers css à traiter, ils peuvent être mixés en un seul fichier css afin d'optimiser le nombre de requêtes serveur. Par défaut à false, il suffit de passer à true.
Supprime tout caractère inutile afin d'optimiser le poids du ou des fichiers css (fonction récupérée chez Seebz, merci à lui ^^).
Cette option ajoute les comportements de Pie (une demande d'Idleman à l'origine)
Le chemin vers le fichier pie (.htc ou .php, voir la doc de css3pie pour plus d'infos)
Permet de préciser le contenu de la balise media=""
Ajoute automatiquement une reset css (celle de HTML5Doctor.com).
Ajoute automatiquement le lien html vers la ou les feuille(s) de style.
TRES IMPORTANT si tous vos fichiers (css,php) ne sont pas dans le même dossier, comme dans le cas
d'un site utilisant des themes par exemple.
Il faut préciser ici le chemin qui part du fichier appelant auto_css.php jusqu'audossier des fichiers css.
Ne pas oublier le "/" final.
Cette variable peut être attribuée à partir d'une autre variable système dans un cms
$auto_css['path_to_css_file']=$config['theme_path'] par exemple...
plus généralement, ce sera $auto_css['path_to_css_file']='css/';
Autorise auto_css à utiliser sa syntaxe native.
Si vous souhaitez éviter d'utiliser les commandes natives d'auto_css, passez à false cette variable
Depuis la version 1.3, vous pouvez configurer auto_css directement depuis le fichier css via la commande config() placée dans un espac de commentaire (voir la partie 3 sur les commandes et variables ci-dessous):
config(auto_add_css_links,"true") dans le master css est identique à $auto_css['auto_add_css_links']=true; dans le fchier auto_css.php
Ainsi, vous pouvez créer des variables qui seront remplacées par leur contenu dans le fichier css:
/*
Cette ligne ne sera pas interprétée
Couleur_de_fond="#F00"
Couleur_de_texte="white"
Bouton_arrondi="roundc 10 vgradient #F00 #0F0 boxraise 1 boxshadow 0 2"
*/
Ce système permet d'utiliser une variable dans une autre:
/*
Couleur_de_fond="#F00"
Couleur_de_texte="white"
Bouton_arrondi="roundc 10 vgradient Couleur_de_fond Couleur_de_texte boxraise 1 boxshadow 0 2"
*/
/*
Couleur_de_fond="#F00"
couleur_plus_sombre=darken(Couleur_de_fond,50)
mais aussi
couleur_plus_sombre=darken(#F00,50)
couleur_plus_claire=lighten(Couleur_de_fond,50)
mais aussi
couleur_plus_claire=lighten(#F00,50)
couleur_plus_claire=reverse(Couleur_de_fond)
mais aussi
couleur_plus_claire=reverse(#F00)
Logo automatique
chemin_logo="img/logo"
dimensions_logo=dimensions(chemin_logo)
dans le css lui-même:
div.logo{background-image:url(chemin_logo);dimensions_logo}
Ainsi, on peut changer le nom de fichier et le css s'adapte automatiquement.
Si on change l'image en conservant le nom, les dimensions s'adapteront tout de même en régénérant le fichier css
*/
Cette fonction d'auto_css n'était pas prévue au début mais elle en devient la fonction principale ^^.
J'ai implémenté une liste de commandes toutes prêtes qui raccourcissent et simplifient les css.
Les commandes suivantes peuvent être utilisées dans les balises css ou être implémentées dans des variables:
/*
Commandes dans une variable
VARIABLE="txtc txtshadow underon"
*/
ou alors
a{txtshadow underoff}
Elles supportent de plus l'argument !important
text-align: left;
text-align: right;
text-align: center;
text-align: justify;
font-style: italic;
font-weight: bold;
font-weight: bolder;
text-decoration: underline;
text-decoration:line-through;
text-decoration:overline;
text-decoration: none;
text-shadow: 0px 1px 1px black;
Adoucit un texte via un ombrage léger
text-shadow: none;
Effet de texte gravé
Crée un halo coloré autour d'un texte
Crée un effet de flou sur un texte
text-transform:capitalize;
text-transform:uppercase;
text-transform:lowercase;
line-height: TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
font-size: TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
font-variant:small-caps;
font-family: Impact, Charcoal, sans-serif;
font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
font-family: Tahoma, Geneva, sans-serif;
font-family: Century Gothic, sans-serif;
font-family: 'Lucida Grande', 'Lucida Sans Unicode', sans-serif;
font-family: Verdana, Geneva, sans-serif;
font-family: Copperplate / Copperplate Gothic Light, sans-serif;
font-family: Gill Sans / Gill Sans MT, sans-serif;
font-family: 'Trebuchet MS', Helvetica, sans-serif;
font-family: 'Courier New', Courier, monospace;
font-family: Georgia, Serif;
font-family: 'Bitter';
font-family: 'Myriad Pro', Arial, Helvetica, Tahoma, sans-serif;
Font-Family: 'Times New Roman', Times, serif;
padding : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
padding-top : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
padding-bottom : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
padding-left : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
padding-right : TAILLEpx; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
margin : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
margin-top : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
margin-bottom : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
margin-left : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
margin-right : TAILLE; (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
margin:0 auto;
Crée l'ombre d'un objet (crossbrowser)
Crée une ombre à l'intérieur d'un objet (crossbrowser)
Fixe l'opacité d'un objet (crossbrowser)
Crée un dégradé vertical (crossbrowser)
Crée un dégradé horizontal (crossbrowser)
Crée un halo autour d'un objet (crossbrowser)
Crée un halo à l'intérieur d'un objet (crossbrowser)
Crée un effet de creux sur un objet
Crée un effet de relief sur un objet
Coins arrondis (crossbrowser)
Coins arrondis en haut à gauche et en bas à droite
Coins arrondis en haut à droite et en bas à gauche
Coins supérieurs arrondis
Coins inférieurs arrondis
Coins gauches arrondis
Coins droits arrondis
cursor: pointer;
cursor: crosshair;
cursor: default;
cursor: text;
cursor: wait;
cursor: help;
cursor: nw-resize;
cursor: ne-resize;
cursor: s-resize;
cursor: se-resize;
Fixe l'effet de transition de tous les effets
ex: transitall 500ms , transitall 1s ease-in
Redimensionne un objet
ex: resize 2 (double), resize 0.5 (moitié)
Redimensionne la largeur de l'objet
Redimensionne la hauteur de l'objet
Déplace un objet: si DISTANCE est positif, vers la droite ou le bas, si DISTANCE est négatif, vers la gauche ou le haut.
Tourner un objet
@media all and
@media screen and
@media tv and
and
not
(max-device-width: 320px)
(max-device-width: 480px)
(orientation: portrait)
(orientation: landscape)
(max-device-width:TAILLEpx)
(min-device-width:TAILLEpx)
Min-height crossbrowser (si aucune unité n'est précisée, auto_css utilisera l'unité par défaut, fixée dans $auto_css['default_unit'])
Empêche la sélection par l'utilisateur (crossbrowser)
Empêche le débordement de <pre> (crossbrowser)
Empêche le redimensionnemment des textareas dans Chrome
display:none;
display:block;
display:inline;
display:inline-block;
float:left;
float:right;
clear:both;
first-of-type ex: p:fot{}
last-of-type ex: p:lot{}
only-of-type ex: p:oot{}
first-child ex: p:fch{}
last-child ex: p:lch{}
only-child ex: p:och{}
first-letter ex: p:flet{}
first-line ex: p:flin{}
nth_child(even) ex: p:even{}/p:pair{}
nth_child(odd) ex: p:odd{}/p:impair{}
Désature une image (si un nb est précisé, il désature de xx% sinon, 100%))
Change une image en sépia (si un nb est précisé, de xx% sinon, 100%)
Change une image en négatif (si un nb est précisé, de xx% sinon, 100%)
Floute une image (le nombre est en pixels sans préciser l'unité, ex: blur 5)