Couleur menu de la page en cours en PHP

bigpot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis à la finalisation de mon site. J'ai un problème: je veux que la couleur du menu change quand la page est en cours.

Je m'explique : Supposons que j'ai 3 rubriques pour un menu a. Ces trois rubriques ont un fond de couleur bleu. Moi je veux que quand on clique (page en cours) sur un de ces rubrique, le fond devient rouge par exemple.

Je suis débutant en php, j'ai beau chercher sur le net mais je n'ai pas trouvé une réponse à ma question.

Aidez moi svp!

merci et bonne journée


11 réponses

Eastchild Messages postés 319 Date d'inscription   Statut Membre Dernière intervention   31
 
Bonjour,

Créer deux class pour chaque lien de ton menu. Rubrique inactive : class1 et rubrique sélectionné : class2. Et en CSS tu définie tes class :

class1{
background-color: #0000FF;
}

class2{
background-color: #FF0000;
}



0
bigpot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, peut tu m'expliquer d'avantage ce que tu viens de dire?
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Bonjour,

Soit pas déçu, je vais pas te donner de solution toute faite, par contre je vais te donner les pistes dont tu as besoin pour le faire.

Il faut commencer par se poser les bonnes questions:
Pour que chaque page affiche un bouton différent, il faut que chaque page soit différente (logique non?). Donc:
-Est-ce que chaque page est à une adresse différente, ou est-ce que c'est toujours la même page qui change de contenu grace a un include?

Pour changer la couleur de fond d'un mot, il faut passer par les propriétés CSS (Je suppose que tu connais aussi). Donc:
-Comment intègres-tu le CSS dans ton fichier? Un fichier CSS que tu appelles en début de page, une liste des propriétés que tu intègre en début de page, ou des propriétés disséminées dans le fichier?

En fonction de ces réponses, plusieurs solutions vont s'offir à toi. J'attend ta réponse pour qu'on voie ça ensemble =)
0
bigpot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de m'avoir répondu si vite.

En effet, chaque page est à une adresse différente.

Je connais déjà bien CSS.

Le fichier CSS est appelé en début de page : <link rel="stylesheet" media="screen" type="text/css" title="css" href="design.css" />

J'espère avoir répondu tes questions.

Merci
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Ok. Donc comme chaque page est "en dur", c'est d'autant plus simple.

Tu sais que tu peux appliquer des propriétés à un "class". Comme te l'as dis Eastchild, il te suffit deux faire deux "class" différentes qui n'auront pas la même couleur de fond.

Dans chaque page, il ne te reste plus qu'a utiliser ces "class" sur les menus.

Tu vois...?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bigpot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Oui je comprends a peu prés ce qu'il faut faire. Mais il faut une requête php qui permettra de différencier les deux classes? Peut tu m'expliquer d'avantage.
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Absolument pas besoin de PHP. C'est du HTML pur et dur là.
Si tes pages sont "en dur" ce qu'on a vu. Tu sais que quand tu ouvriras la page "accueil.php" par exemple, c'est le menu "accueil' qui aura le font rouge. Il faut donc lui affecter la class avec le font rouge directement dans le fichier accueil.php.
Et pour le fichier "panier.php", c'est au menu "panier" qu'on va affecter la class. Et ainsi de suite..
0
bigpot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Ok merci je te remercie beaucoup, je comprends bien maintenant. je vous tiendrai au courant ce soir.
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Avec plaisir =)
0
bigpot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Juste une dernière question.
ma page php contenant le menu est:

<div id="menu2">

<div class="element_menu2"><ul>

<li><a href="liens_utiles.php" class="inactive1" title="Liens utiles">Liens utiles</a></li>
<li><a href="tourisme.php" class="inactive2"title="Tourisme">Tourisme</a></li>

</ul>

</div>

</div>

Comment dois-je declarer mes classes inactives sur le fichier css?
J'ai fais #inactive1 ... mais ça n'a pas marché.
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Comme te l'avais dis Eastchild
class1{
background-color: #0000FF;
}

class2{
background-color: #FF0000;
}


Ceci dit.. tu viens de me dire un truc qui fait tilt..
Ton menu est unique, et est appellé depuis toutes tes pages? Ca change tout parce que tu ne peux pas le modifier "en dur" (et tu serais obligé d'utiliser le php)
0
bigpot Messages postés 26 Date d'inscription   Statut Membre Dernière intervention  
 
Ok d'accord. Donc je ne peux pas appliquer ta méthode. Comment je fais alors si tu as une solution.
0
Apatik Messages postés 5304 Date d'inscription   Statut Contributeur Dernière intervention   782
 
Essaie de réfléchir un poil par toi même:

-De toute façon, on est obligé d'avoir deux "class".
-On a un seul fichier menu qui est fixe.
-Le PHP permet d'afficher du texte si un paramètre est rempli

Est-ce que ça te suggère quelque chose? Sans même parler de code, est-ce que tu imagine une solution..?
0