Header
Barre de navigation fixe avec liens de navigation desktop/mobile, logo et bouton CTA.
Apercu
Le composant Header affiche une barre de navigation fixe en haut de page avec un comportement responsive. Il comprend un logo, des liens de navigation desktop, un bouton CTA et un menu hamburger pour les ecrans mobiles.
Fichier : src/components/Header.tsx
Fonctionnement
- Utilise
useStatepour suivre la position de defilement et l'etat du menu mobile - Ajoute une bordure inferieure et une ombre lorsque l'utilisateur fait defiler au-dela de 10px
- La navigation desktop est masquee sous le breakpoint
md; le menu mobile apparait a la place - Cliquer sur un lien mobile ferme automatiquement le menu
Liens de navigation
Les liens sont definis dans le tableau navLinks en haut du fichier :
const navLinks = [
{ label: "Features", href: "#features" },
{ label: "Pricing", href: "#pricing" },
{ label: "FAQ", href: "#faq" },
{ label: "Docs", href: "#" },
];Ajoutez, supprimez ou reordonnez les entrees pour modifier la navigation. Chaque objet prend un label (texte affiche) et un href (ancre ou URL).
Personnalisation
Changer le logo
Remplacez le texte du logo a l'interieur de la balise <a> pres du haut du bloc de retour :
<a href="#" className="text-xl font-bold text-indigo-600">
YourBrand
</a>Remplacez par un <img> ou un SVG pour un logo graphique.
Changer le bouton CTA
Les boutons CTA desktop et mobile pointent tous deux vers #pricing. Mettez a jour le texte et le href pour correspondre a votre offre :
<a href="#pricing" className="...">
Get Started — $49
</a>Classes Tailwind principales
| Classe | Fonction |
|---|---|
sticky top-0 z-50 | Maintient le header fixe en haut |
bg-white/95 backdrop-blur | Arriere-plan semi-transparent avec flou |
hidden md:flex | Affiche la navigation desktop uniquement sur les ecrans moyens et plus |
md:hidden | Affiche le hamburger uniquement sur les petits ecrans |
Ombre au defilement
Le header applique conditionnellement border-b border-gray-200 shadow-sm lorsque la page est defilée. Ceci est controle par l'etat scrolled et un ecouteur de defilement passif enregistre dans useEffect.
Menu mobile
Le menu mobile s'affiche conditionnellement lorsque mobileOpen est true. Il apparait sous le header sous forme de colonne de liens plus le bouton CTA. Chaque lien appelle setMobileOpen(false) au clic pour fermer automatiquement le menu.
Conseils
- Pour ajouter une variante mode sombre, remplacez
bg-white/95pardark:bg-gray-900/95et ajustez les couleurs de texte en consequence. - Pour les liens externes (par ex. GitHub), ajoutez
target="_blank"etrel="noopener noreferrer"a l'ancre.
Fini ? Marquez cette page comme terminée.