26714 sujets

CSS et mise en forme, CSS3

Bonjour !

Voilà, comme dit dans le titre, j'ai des problèmes entre mes pages PHP et les css qui leur sont attribués.
En train de réaliser un site, j'ai donc un header (avec une barre de menu dessus, le logo....) en php avec sa propre feuille de style. Malheureusement, toutes les pages sur lesquelles sont liées ce fameux "header" prennent en compte le CSS de ce dernier et n'appliquent pas (ou très peu en fonction des éléments) les CSS qui leur sont attribués (index.php doit prendre index.css, par exemple). Je voulais savoir si il y avait moyen de "séparer" un CSS d'une page, ou en tous cas un moyen d'attribuer le bon CSS.

J'espère que ma question est assez claire, merci par avance ! Smiley biggrin
Salut

Tout depend de "comment" est structurer ton site et ton workflow de page.

Si tu as un header (et je parle des balises <head></head> avant le <body>) spécifique sur chaque page et que chaque page est réellement "une page" et pas un include ou quoi, alors chaque page aura son propre CSS si tu l'appel dans chaque header respectif.
JENCAL a écrit :
Salut

Tout depend de "comment" est structurer ton site et ton workflow de page.

Si tu as un header (et je parle des balises &lt;head&gt;&lt;/head&gt; avant le &lt;body&gt;) spécifique sur chaque page et que chaque page est réellement "une page" et pas un include ou quoi, alors chaque page aura son propre CSS si tu l'appel dans chaque header respectif.


Le header est une page à part (en .php) à laquelle je fais appel sur les autres page (avec un "include" en début de code).
Après pour attribuer un "bon" css tu le sépare en plusieurs fichier et chaque fichier correspond à une page (à toi de voir) et pour chaque page tu mets un préfixe de classe pour chaque élements. et comme ça ils n'entrent pas en conflit avec le reste.
Exemple

header.php :
Contient :
-> appel de index.css
-> appel de contact.css
etc...

index.php
-> appel de header.php
- class préfixe : index_
- exemple : <label class="index_label_titre" ..... ></label>

contact.php
-> appel de header.php
-class préfixe : contact_
-exemple : <input type="text" class="contact_prenom"/>

et dans tes fichier css

index.css :
.index_label_titre{
color:red
}

contact.css :
.contact_prenom{
color:blue;
}

là c'est basique, mais si tu fais ça pour chaque élements.
Si tu veux des header différents sur chaque page, tu peux, il suffit de "préparer" les classes dans tes fichiers respectifs, et en javascript

if ( monUrlContient == "index"){
//je change de classe pour mon header
}else if (monUrlContient == "contact"){
//pareil, j'adapte.
} 
Je sais pas si c'est la meilleur solution hein Smiley smile

Si qq1 d'autres a une bonne idée ?! Smiley smile
Modifié par JENCAL (16 May 2019 - 11:53)