CSS multiples : simplifications

Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   -  
 le père -
Salut,

Une petite question. En ce moment j'en ai pas mal à vous soumettre..

Je propose sur mon site un sélecteur de css via des liens : la possibilité de choisir une css parmi 6. Ca fonctionne bien mais ça me semble lourd.

En fait j'ai bêtement fait des copier/coller de ma css originale, puis modifié très légèrement la css pour en pondre une seconde, puis une troisième, etc.. C'est couillon en fait, parce que je recharge quasiment le même fichier à quelques toutes petites différences près. De plus lorsque je modifie un fichier, j'ai souvent besoin de faire la même chose sur les autres.

Je reste comme ça ou il existe un moyen plus propre de faire ? Premier truc qui me vient à l'esprit c'est coller des if dans la CSS mais mettre des conditions dans une feuille de style n'est pas possible. Voilà l'idée.

Merci d'avance :)


2 réponses

avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Tu peux mettre tout ce qui est commun dans un fichier (main.css par exemple).
Et pour chaque style différent, tu mets les changements dans des fichiers séparés.

Par exemple, tous tes titres h3 sont en italique : dans le fichier main.css, tu mettra h3 {font-style:italic;}

Mais pour chaque style, il y e une couleur différence.
Dans style1.css : h3 {color:black;}
Dans style2.css : h3 {color:red;}
Dans style3.css : h3 {color:green;}
...

En incluant main.css et style1.css, les propriétés seront combinées.
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Salut F16,

D'accord. Reste la manière d'inclure style1 dans le main.
J'ai trouvé qu'il suffisait simplement d'inclure de cette manière dans le main :

/* CCS : main */
@import url("style1.css");

C'est correct ?
0
avion-f16 Messages postés 19254 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Perso, je ferais comme ça :
<link rel="stylesheet" type="text/css" href="main.css" />
<link rel="stylesheet" type="text/css" href="style1.css" id="styleSwitcher" />
Ainsi, je peux modifier l'attribut href de la deuxième balise en JS :
document.getElementById('styleSwitcher').href = 'style2.css';
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Ok, merci. Je reviendrai te dire si je m'en suis sorti.
Bonne soirée :)
0
le père
 
Bonjour
mettre des conditions dans une feuille de style n'est pas possible
Il n'y a pas de if en HTML non plus, cela ne t'empêche pas d'en faire côté serveur avec PHP. Il n'y a absolument rien qui t'empêche de faire la même chose pour le CSS, il n'y a pas besoin d'une quelconque astuce.
0