Probleme menu
Fermé
Max0123456
Messages postés
97
Date d'inscription
dimanche 24 octobre 2021
Statut
Membre
Dernière intervention
2 février 2023
-
4 nov. 2021 à 13:12
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 4 nov. 2021 à 17:33
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 4 nov. 2021 à 17:33
A voir également:
- Probleme menu
- Menu déroulant excel - Guide
- Windows 11 menu démarrer classique - Guide
- Canon quick menu - Télécharger - Utilitaires
- Réinitialiser menu démarrer windows 10 - Guide
- Menu demarrer windows 10 - Guide
4 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
4 nov. 2021 à 14:07
4 nov. 2021 à 14:07
Bonjour,
Ton menu fonctionne correctement.
Le menu qui reste affiché avec une couleur plus claire vient de la classe "active" qui est appliqué sur la balise li qui contient le menu.
Il me semble que tu utilises PHP pour ton site. Une solution possible est donc de récupérer la page active en PHP et modifier le menu html pour appliquer la classe "active" sur la balise li du menu correspondant à la page visité.
Par exemple si j'applique la classe "active" sur la balise li qui contient le menu Service, c'est bien ce menu qui restera avec une couleur plus claire : https://jsfiddle.net/Lq2ma85n/
Au passage tu as une erreur de syntaxe sur la première règle de ton fichier css : il manque le sélecteur css pour cette règle.
Il faudrait à priori appliquer cette règle sur le sélecteur "html" (évite d'appliquer cette règle sur le sélecteur "*" si c'était le cas) :
Ton menu fonctionne correctement.
Le menu qui reste affiché avec une couleur plus claire vient de la classe "active" qui est appliqué sur la balise li qui contient le menu.
Il me semble que tu utilises PHP pour ton site. Une solution possible est donc de récupérer la page active en PHP et modifier le menu html pour appliquer la classe "active" sur la balise li du menu correspondant à la page visité.
Par exemple si j'applique la classe "active" sur la balise li qui contient le menu Service, c'est bien ce menu qui restera avec une couleur plus claire : https://jsfiddle.net/Lq2ma85n/
Au passage tu as une erreur de syntaxe sur la première règle de ton fichier css : il manque le sélecteur css pour cette règle.
Il faudrait à priori appliquer cette règle sur le sélecteur "html" (évite d'appliquer cette règle sur le sélecteur "*" si c'était le cas) :
html { padding: 0; margin: 0; box-sizing: border-box; } /* ... suite du code css ... */
Max0123456
Messages postés
97
Date d'inscription
dimanche 24 octobre 2021
Statut
Membre
Dernière intervention
2 février 2023
Modifié le 4 nov. 2021 à 15:10
Modifié le 4 nov. 2021 à 15:10
Je n'ai donc pas besoin de créer un fichier css pour chaque menu. Je mets juste
Quand je clique sur "A Propos", il se décale et son sous-menu disparait
<li class="active">au bon endroit. Je n'utilise pas PHP.
Quand je clique sur "A Propos", il se décale et son sous-menu disparait
<!DOCTYPE html> <html lang="fr"> <head> <title>DesignType</title> <meta charset="utf-8"/> <link rel="stylesheet" href="menu.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> </head> <body> <header> <div class="bar-menu"> <nav> <ul> <li><a href="index.html"><i class="fas fa-home"></i>Accueil</a></li> <li> <a href="page1.html"><i class="fas fa-clone"></i>Services</a> <div class="sous-menu1"> <ul> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> </ul> </div> </li> <li> <li class="active"> <a href="page2.html"><i class="fas fa-user"></i>A propos</a></li> <div class="sous-menu1"> <ul> <li><a href="#">bbbbb</a></li> <li class="hover-me"> <a href="#">ccccc</a><i class="fas fa-angle-right"></i> <div class="sous-menu2"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> </div> </li> <li class="hover-me"> <a href="#">ddddd</a><i class="fas fa-angle-right"></i> <div class="sous-menu2"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> </ul> </div> </li> </ul> </div> </li> <li><a href="page3.html"><i class="fas fa-users"></i>Clients</a></li> <li><a href="page4.html"><i class="fas fa-tags"></i>Prix</a></li> <li><a href="page5.html"><i class="fas fa-edit"></i>Design</a></li> <li><a href="page6.html"><i class="fas fa-phone"></i>Contact</a></li> </ul> </nav> </div> </header> </body> </html>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
4 nov. 2021 à 15:57
4 nov. 2021 à 15:57
Attention à la syntaxe html (pense à utiliser le validateur w3c pour corriger les erreurs html) :
- tu as une balise <li> en trop ligne 26
- à la fin de la ligne 27, tu as une balise fermante </li> qui est incorrecte. Si le sous menu juste en dessous doit être inclus dans le menu "A propos", cette balise fermante </li> devrait se situer après la balise fermante </div> correspondant au sous-menu
https://jsfiddle.net/n08wLx2d/
Effectivement pas besoin de créer un fichier css pour chaque page.
Sans PHP, il suffit effectivement d'appliquer la classe active sur le bon menu pour chaque page html.
- tu as une balise <li> en trop ligne 26
- à la fin de la ligne 27, tu as une balise fermante </li> qui est incorrecte. Si le sous menu juste en dessous doit être inclus dans le menu "A propos", cette balise fermante </li> devrait se situer après la balise fermante </div> correspondant au sous-menu
<header> <div class="bar-menu"> <nav> <ul> <li><a href="index.html"><i class="fas fa-home"></i>Accueil</a></li> <li> <a href="page1.html"><i class="fas fa-clone"></i>Services</a> <div class="sous-menu1"> <ul> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> </ul> </div> </li> <li class="active"> <a href="page2.html"><i class="fas fa-user"></i>A propos</a> <div class="sous-menu1"> <ul> <li><a href="#">bbbbb</a></li> <li class="hover-me"> <a href="#">ccccc</a><i class="fas fa-angle-right"></i> <div class="sous-menu2"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> </div> </li> <li class="hover-me"> <a href="#">ddddd</a><i class="fas fa-angle-right"></i> <div class="sous-menu2"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><a href="#">4</a></li> <li><a href="#">5</a></li> </ul> </div> </li> </ul> </div> </li> <li><a href="page3.html"><i class="fas fa-users"></i>Clients</a></li> <li><a href="page4.html"><i class="fas fa-tags"></i>Prix</a></li> <li><a href="page5.html"><i class="fas fa-edit"></i>Design</a></li> <li><a href="page6.html"><i class="fas fa-phone"></i>Contact</a></li> </ul> </nav> </div> </header>
https://jsfiddle.net/n08wLx2d/
Effectivement pas besoin de créer un fichier css pour chaque page.
Sans PHP, il suffit effectivement d'appliquer la classe active sur le bon menu pour chaque page html.
Max0123456
Messages postés
97
Date d'inscription
dimanche 24 octobre 2021
Statut
Membre
Dernière intervention
2 février 2023
Modifié le 4 nov. 2021 à 16:24
Modifié le 4 nov. 2021 à 16:24
J'ai enlevé tous les menus après A Propos.
Mon code est il correct ?
Mon code est il correct ?
<!DOCTYPE html> <html lang="fr"> <head> <title>DesignType</title> <meta charset="utf-8"/> <link rel="stylesheet" href="menu.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> </head> <body> <header> <div class="bar-menu"> <nav> <ul> <li><a href="index.html"><i class="fas fa-home"></i>Accueil</a></li> <li> <a href="page1.html"><i class="fas fa-clone"></i>Services</a> <div class="sous-menu1"> <ul> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> </ul> </div> </li> <li class="active"> <a href="page2.html"><i class="fas fa-user"></i>A propos</a> </li> </li> </ul> </nav> </div> </header> </body> </html> </html>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
4 nov. 2021 à 16:24
4 nov. 2021 à 16:24
Non tu as encore quelques erreurs de syntaxe :
- une balise fermante </div> en trop ligne 29
- une balise fermante </li> en trop ligne 30
- une balise fermante </ul> en trop ligne 31
Au passage, la balise meta charset devrait être la première balise dans le head du document html :
- une balise fermante </div> en trop ligne 29
- une balise fermante </li> en trop ligne 30
- une balise fermante </ul> en trop ligne 31
Au passage, la balise meta charset devrait être la première balise dans le head du document html :
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"/> <title>DesignType</title> <link rel="stylesheet" href="menu.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> </head> <body> <header> <div class="bar-menu"> <nav> <ul> <li><a href="index.html"><i class="fas fa-home"></i>Accueil</a></li> <li> <a href="page1.html"><i class="fas fa-clone"></i>Services</a> <div class="sous-menu1"> <ul> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> </ul> </div> </li> <li class="active"> <a href="page2.html"><i class="fas fa-user"></i>A propos</a> </li> </ul> </nav> </div> </header> </body> </html>
Max0123456
Messages postés
97
Date d'inscription
dimanche 24 octobre 2021
Statut
Membre
Dernière intervention
2 février 2023
Modifié le 4 nov. 2021 à 17:15
Modifié le 4 nov. 2021 à 17:15
J'ai un problème pour la page2 quand je clique sur "Services" :
(j'ai ajouté un logo dans le header mais cela n'a rien à voir avec le problème)
(j'ai ajouté un logo dans le header mais cela n'a rien à voir avec le problème)
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"/> <title>DesignType</title> <link rel="stylesheet" href="menu.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> </head> <body> <header> <div class="bar-menu"> <a href="index.html"><img src="DT.png" alt="Logo"/></a> <nav> <ul> <li><a href="index.html"><i class="fas fa-home"></i>Accueil</a></li> <li> <a href="page1.html"><i class="fas fa-clone"></i>Services</a> <div class="sous-menu1"> <ul> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> <li><a href="#">aaa</a></li> </ul> </div> </li> <li class="active"> <a href="page2.html"><i class="fas fa-user"></i>A propos</a> </li> </ul> </nav> </div> </header> </body> </html>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
4 nov. 2021 à 17:21
4 nov. 2021 à 17:21
Quel est le problème du coup ? En cliquant sur le menu Services, tu devrais arriver sur la page page1.html
Max0123456
Messages postés
97
Date d'inscription
dimanche 24 octobre 2021
Statut
Membre
Dernière intervention
2 février 2023
>
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
Modifié le 4 nov. 2021 à 17:25
Modifié le 4 nov. 2021 à 17:25
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
>
Max0123456
Messages postés
97
Date d'inscription
dimanche 24 octobre 2021
Statut
Membre
Dernière intervention
2 février 2023
Modifié le 4 nov. 2021 à 17:33
Modifié le 4 nov. 2021 à 17:33
Tu dois donc avoir des erreurs dans le fichier page1.html.
Ton menu sur page1.html : https://jsfiddle.net/4wqs0j76/
Ton menu sur page2.html : https://jsfiddle.net/4wqs0j76/1/
(j'ai seulement déplacé la classe "active" sur le menu actif)
Ton menu sur page1.html : https://jsfiddle.net/4wqs0j76/
Ton menu sur page2.html : https://jsfiddle.net/4wqs0j76/1/
(j'ai seulement déplacé la classe "active" sur le menu actif)