Alla fine di questa lezione avrai ricostruito da una tela bianca la versione desktop della navbar di Webflow — struttura, layout, spacing fluido ed effetti hover inclusi. È la base di una serie completa che poi la rende responsive, aggiunge un vero mega menu e anima i dropdown.
Lo facciamo nel modo giusto: niente mega menu e niente responsive ancora, solo una struttura desktop solidissima. Fai bene quella e tutto il resto — mobile, dropdown, animazioni — si incastra invece di combatterti. Lungo la strada vediamo l’accessibilità fatta bene, il sizing fluido con clamp() e un underline all’hover che non rovina il layout.
Il riferimento è la navbar reale della homepage di Webflow, quindi la ispezioniamo mentre procediamo e ne rispecchiamo struttura e dettagli.
Come funziona
Lo scheletro è familiare: un elemento navbar che avvolge un main-container (max-width più padding orizzontale, come confine di layout) che avvolge un navbar_content-wrapper impostato su display: flex con justify-content: space-between. Questo divide la barra in un gruppo sinistro (brand + link primari) e un gruppo destro (link secondari + CTA).
La decisione più importante è l’accessibilità. Il nav menu di Webflow porta il tag semantico nav, quindi ogni link di navigazione — incluso il gruppo di destra e la CTA — va al suo interno, non sparso in wrapper fratelli. Un passo più in là, il gruppo di link primario è in realtà una lista, quindi rende meglio come lista non ordinata (list-style: none, item su inline-block). È il tipo di struttura su cui si appoggia chi usa uno screen reader.
Un’insidia sottile: il padding va sul dropdown toggle, non sul dropdown. Il toggle è l’elemento che apre davvero il menu, quindi se metti il padding sul wrapper il link sembra grande ma solo una strisciolina è cliccabile. Azzera il padding del dropdown e mettilo sul toggle.
Per il sizing andiamo pienamente fluidi con clamp(). Invece di valori fissi, font-size e gap scalano con il viewport tra un minimo e un massimo. Il valore preferito nasce da una proporzione: il nostro container arriva a 90rem, quindi se 90rem corrisponde a 100vw, allora 1rem ≈ 1.11vw. Applica la stessa idea al padding del container e a ogni gap e la navbar si riduce con grazia su tutto il range desktop senza andare a capo.
Infine, effetti hover che rispettano il layout. Un bordo inferiore vero cambia l’altezza di un elemento e sposta la navbar, quindi l’underline è un box-shadow inset trasparente (Y: -2px, blur: 0) il cui colore appare in animazione all’hover. E per rispecchiare il tocco di Webflow dove tutto il menu si smorza tranne il link su cui sei, il colore di ogni link è impostato su inherit: lo stato hover del nav menu sfuma tutto verso il grigio, mentre lo stato hover di ogni link lo tiene scuro.
Come si usa
- Struttura. Aggiungi una navbar → classe
navbar(sfondo bianco, un sottile bordo inferiore di 1px). Dentro, unnavbar_main-container(margini laterali auto,max-width: 90rem, padding orizzontale). Dentro ancora, unnavbar_content-wrappersudisplay: flex,space-between. - Aggiungi il contenuto. Brand link con il logo (incolla l’SVG in un Code Embed), un nav menu con tre dropdown (Platform, Solutions, Resources) e due link (Enterprise, Pricing), più un gruppo destro di due link e un pulsante CTA.
- Rendila accessibile. Sposta ogni link dentro il nav menu. Converti il gruppo primario in una lista non ordinata con i
navbar_link-list-item; togli padding/margini di default e i pallini; imposta gli item suinline-block. - Sistema l’area cliccabile del dropdown. Duplica la classe del dropdown, azzera il suo padding e sposta il padding verticale (
1.5rem) sul toggle. Imposta il toggle sudisplay: flex, centrato, con un piccologapper l’icona. - Disponi.
display: flexsui gruppi di link e sul nav menu; usagapper lo spacing egrow if possiblesul nav menu così riempie lo spazio dopo il brand. Centra tutto in verticale. - Dai stile alla CTA. Sfondo blu,
border-radius: 4px, padding, peso medium e i box-shadow a strati copiati dal pulsante di Webflow. - Vai fluido con clamp(). Sostituisci font-size e gap fissi con
clamp(min, preferitoVW, max)usando la proporzione90rem = 100vw, così niente va a capo mentre il viewport si stringe. - Aggiungi la rifinitura hover. Sulla CTA, transiziona background + box-shadow e scurisci all’hover. Su link e toggle, aggiungi un underline box-shadow inset trasparente che diventa blu all’hover; imposta il colore dei link su
inheritcosì il menu sfuma al grigio mentre l’elemento su cui sei resta scuro. Transiziona anche il colore, così si anima.
Ecco la navbar desktop — strutturata, accessibile, fluida e interattiva. Prossimo episodio: renderla pienamente responsive per il mobile.