CSS multiples : simplifications

Fermé
Bertrand40 Messages postés 1196 Date d'inscription vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 - 5 avril 2010 à 13:11
 le père - 5 avril 2010 à 19:58
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 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
Modifié par avion-f16 le 5/04/2010 à 13:26
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 vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 194
Modifié par Bertrand40 le 5/04/2010 à 18:46
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 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
5 avril 2010 à 18:55
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 vendredi 27 mars 2009 Statut Membre Dernière intervention 27 février 2023 194
5 avril 2010 à 19:48
Ok, merci. Je reviendrai te dire si je m'en suis sorti.
Bonne soirée :)
0
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