Problème multiples feuilles CSS

molgow

Membre expert
Club iGen
4 Janvier 2002
5 496
613
42
Suisse
Bonjour,

Voilà mon problème :
Mes pages HTML contiennent 2 feuilles de styles CSS (dont l'une que je ne peux pas modifier! c'est important!). Dans l'une d'entre elle, j'ai une classe .title. Et dans l'autre classe je souhaiterais indiquer au navigateur qu'une balise <h1> dans certains contextes (c'est à dire s'il est un fils d'un id #content), alors il faut que ce <h1> prenne le style de .title.
C'est peut-être pas très clair. Mais voilà du code pour mieux comprendre :

Feuille de style n°1 :
Bloc de code:
.title {
    font-weight: bold;
}

Feuille de style n°2 :
Bloc de code:
#content {
   ...
}
#content h1 {
   ... et là je voudrais que le style soit le même que .title sans avoir besoin de le redéfinir
}

Bien sûr, vous me direz "pourquoi 2 feuilles ?", je vous réponds "parce que c'est comme ça :p". "pourquoi ne pas le redéfinir ?", "car ce n'est pas moi qui maintient la feuille 1 et si je rédéfinis la moitié des styles de 1 dans 2 ça sert à rien d'en avoir 2".

Alors une idée pour m'aider ?

Molgow
 
Aïe, voila une drole d'idée.

Désolé, tu ne peux pas placer un autre style dans un style (en tout cas pas avec CSS1)

Mais si tu as des styles tous prêts dans la 1ère feuille de style, la seul chose que tu peux faire c'est les completer ou remplacer dans la seconde.

Du genre

h1 {....} dans la 1ère feuille

h1 { font-size: 2em ; } dans la seconde pour ne changer que la taille, ça marche.

Je n'ai pas cherché dans CSS2, mais ça m'étonnerai qu'il y ait du changement.

Ou alors écrire la feuille de style par PHP, mais ce n'est plus de ma compétence.
 
  • J’aime
Réactions: molgow
Je pense que je dois travailler en CSS2 mais effectivement ça ne doit rien changer.

Par contre, ta suggestion de passer par du PHP est intéressante. Je vais essayer d'y réfléchir. Je pourrais par exemple récupérer la première CSS et la modifier, lui ajouter des infos. De toute manière, tout mon site et même la CSS est générée par PHP donc le fait que ce soit dynamique n'est pas un problème.
 
mfay a dit:
Aïe, voila une drole d'idée.

Juste pour peut-être éclaircir le pourquoi de faire ça.
Je réalise une sorte de mini content management system en PHP (orienté objet et utilisant XML à fond) pour mon site perso, spécialement conçu pour la charte graphique de mon école. Tous les pages officielles de mon école adoptent donc une présentation simliraire et utilisent une feuille de style centrale. Cette CSS est générée par PHP (je n'ai donc aucun contrôle sur cette CSS) et n'est pas pareil sur tous les navigateurs ou OS. J'utilise donc cette feuille sur mes pages, mais en plus de celle-ci j'ai mes propres styles, surtout utilisé pour la structure de la page (je travaile en XHTML 1.1 Strict). Bref, je suis coinçé entre plusieurs contraintes assez importantes qui sont le respect stricte de la charte graphique de mon école et la simplicité d'utilisation pour l'utilisateur lambda : l'utilisateur ne doit pas avoir besoin de connaître les styles CSS pour pouvoir écrire ses pages correctement, une connaissance du HTML de base est la limite acceptable.
 
Petit détail : j'ai vu quelque part que le fait d'avoir plusieurs feuilles de styles externes n'était pas compatible avec tous les navigateurs... ii y avait un problème avec un des navigateur (probablement MSIE PC... mais à vérifier).
 
Bah pour l'instant je n'ai pas constaté de problèmes. Et je sais que j'avais testé mon site avec IE5 et IE6 sur PC. Si tu retrouves le site où il parle de ça, ça m'intéresse tout de même..
 
effectivement ce genre de petit jeux je pense sera inclus dans css 3
(intégrer le multi héritage ds les css)
c'est vrai que le multi css merde parfois

pour cela

"css/css.php?what=css1"

le script echo -> import my.css

:zen:

si tu veux xmliser tout

css.xml ou tu stores toutes tes css

css.php tu obtients le node suivant le get et tu affiches import linknode