Un tooltip che si stacca dal pulsante, un menu che finisce oltre il bordo dello schermo, una nota che copre proprio il contenuto che dovrebbe spiegare: sono piccoli difetti, ma fanno percepire un’interfaccia come fragile. CSS Anchor Positioning nasce per risolvere questo problema direttamente nel foglio di stile, collegando un elemento “flottante” al suo riferimento.
La novità è ormai concreta: le funzioni principali sono entrate nella documentazione MDN dedicata e l’anchor positioning fa parte delle aree di lavoro di Interop 2026. Per designer e content designer significa poter progettare relazioni spaziali più robuste, riducendo calcoli e correzioni affidati a JavaScript.
Che cosa cambia rispetto al posizionamento assoluto
Con position: absolute un elemento viene collocato rispetto a un contenitore. Ma un tooltip non vuole semplicemente stare “in alto a destra”: vuole stare vicino a un pulsante preciso, seguirlo quando il layout cambia e trovare un’altra posizione quando manca spazio.
Finora questa relazione richiedeva spesso uno script che misurasse rettangoli, scroll e dimensioni della finestra. CSS Anchor Positioning permette invece di dichiarare il legame: un elemento diventa l’ancora, l’altro si posiziona rispetto ai suoi bordi o al suo centro. Il browser può quindi ricalcolare la geometria durante resize, zoom, variazioni del testo e cambi di orientamento.
È un’evoluzione coerente con un principio già utile nel web design editoriale: la gerarchia visiva deve derivare dalla relazione tra contenuti, non da coordinate rigide pensate per una sola schermata.
I componenti essenziali di CSS Anchor Positioning
Dare un nome all’ancora
La proprietà anchor-name assegna un identificatore all’elemento di riferimento. Il pannello collegato lo richiama con position-anchor. È una relazione esplicita e leggibile anche nel CSS, senza dover ricostruire la parentela dal DOM.
Scegliere un’area, non una coordinata
position-area consente di collocare il contenuto sopra, sotto o ai lati dell’ancora. Le funzioni anchor() e anchor-size() permettono invece regolazioni più precise, per esempio allineare un bordo o dare al menu almeno la larghezza del pulsante che lo apre.
.trigger {
anchor-name: --azioni;
}
.menu {
position: fixed;
position-anchor: --azioni;
position-area: block-end span-inline-end;
margin-block-start: .5rem;
min-width: anchor-size(width);
}
Questo frammento descrive l’intenzione: il menu appartiene al pulsante “azioni”, si apre sotto di lui, si estende verso destra e ne riprende almeno la larghezza. La guida di web.dev raccoglie esempi completi delle proprietà e delle funzioni disponibili.
Il punto decisivo: gestire l’overflow
Il vantaggio più interessante non è posizionare un elemento vicino a un altro. È dichiarare alternative quando la posizione preferita non entra nello spazio disponibile. Con position-try-fallbacks si possono indicare strategie come flip-block o flip-inline: il browser prova a spostare il pannello sull’altro lato, mantenendo il legame con l’ancora.
Per casi più controllati, la regola @position-try consente di definire una posizione alternativa personalizzata. Il risultato è un componente che reagisce ai bordi reali della viewport, non a breakpoint scelti in anticipo.
Questo non elimina la progettazione responsive: la rende più semantica. I breakpoint continuano a essere utili per trasformazioni strutturali, mentre i fallback di posizione risolvono una collisione locale. È la stessa distinzione che aiuta a evitare molti dei difetti grafici che rallentano utenti e sito.
Anchor Positioning e Popover API lavorano meglio insieme
Il CSS stabilisce dove appare un elemento, ma non ne definisce da solo apertura, chiusura, ordine di focus o significato. Per menu non modali, pannelli informativi e controlli contestuali, la Popover API offre il comportamento; Anchor Positioning cura la geometria.
<button class="trigger" popovertarget="menu-azioni">
Azioni
</button>
<div id="menu-azioni" class="menu" popover>
...
</div>
Usare popovertarget al posto di un gestore improvvisato porta vantaggi importanti: lo stato del controllo viene esposto alle tecnologie assistive, il popover può chiudersi con Esc e il focus torna al pulsante che lo ha aperto. La guida MDN alla Popover API spiega nel dettaglio comportamento e requisiti.
La posizione, però, non rende automaticamente accessibile un componente. Un tooltip deve avere un’attivazione utilizzabile anche da tastiera; un menu deve seguire il pattern di interazione appropriato; un contenuto essenziale non dovrebbe dipendere soltanto dall’hover. Le indicazioni discusse nell’articolo su WCAG 3.0 e progettazione web restano il riferimento per valutare il risultato nel contesto reale.
Quando usarlo e quando scegliere altro
- Tooltip e help contestuali: per mantenere la spiegazione vicina al controllo senza tagliarla ai bordi.
- Menu e selettori: per aprire pannelli coerenti con il pulsante anche in spazi stretti.
- Annotazioni editoriali: per collegare note, definizioni e riferimenti a una parola, un’immagine o un dato.
- Callout e badge: per legare un’etichetta a una card senza coordinate fragili.
Non è invece la scelta giusta per ogni livello sovrapposto. Una decisione che richiede attenzione esclusiva, una conferma distruttiva o un flusso bloccante appartiene più spesso a un elemento <dialog> modale. E se l’informazione deve restare sempre visibile, forse non serve alcun overlay: inserirla nel flusso della pagina è più semplice e più inclusivo.
Supporto browser e progressive enhancement
Il supporto si è consolidato nel 2026, ma un sito professionale non dovrebbe presumere che ogni visitatore usi l’ultima versione del browser. La strategia corretta è il progressive enhancement: costruire prima una base comprensibile e utilizzabile, poi migliorare il posizionamento dove le proprietà sono disponibili.
@supports (anchor-name: --elemento) {
/* Posizionamento ancorato e fallback anti-overflow */
}
Il fallback può essere una disposizione nel normale flusso, un menu allineato al contenitore o un pannello a larghezza piena sui dispositivi piccoli. In tutti i casi il contenuto e il controllo devono restare raggiungibili. Anche le nuove API vanno misurate nel sito reale: meno JavaScript può migliorare stabilità e manutenzione, ma non sostituisce il controllo dei Core Web Vitals.
Un metodo pratico per WordPress
In WordPress l’anchor positioning è utile soprattutto nei componenti del tema o di un blocco personalizzato. Prima di aggiungere codice, conviene verificare se il menu, il tooltip o il popover è già gestito dal tema o da un plugin: due sistemi di posizionamento sovrapposti producono facilmente salti e incoerenze.
- Identifica chiaramente elemento di controllo e contenuto collegato.
- Costruisci il comportamento con HTML nativo, quando disponibile.
- Definisci una posizione preferita e almeno un fallback.
- Prevedi un’alternativa per i browser meno recenti.
- Prova zoom al 200%, testi lunghi, viewport strette e direzione di lettura diversa.
- Verifica tastiera, focus visibile, screen reader e chiusura con Esc.
Questi test contano più di una demo perfetta. Un menu deve funzionare con etichette reali, traduzioni, font caricati in ritardo e barre del browser che riducono lo spazio disponibile.
FAQ su CSS Anchor Positioning
CSS Anchor Positioning sostituisce Popper o altre librerie?
Può sostituire una parte importante del calcolo geometrico nei casi più comuni. Le librerie restano utili quando servono compatibilità più ampia, logiche complesse o un sistema di componenti già consolidato. La migrazione va valutata sul progetto, non per moda.
È sufficiente per creare tooltip accessibili?
No. Anchor Positioning decide dove compare il tooltip. Accessibilità significa anche attivazione da tastiera, associazione semantica, contenuto comprensibile, gestione del focus e possibilità di chiuderlo senza difficoltà.
Funziona anche con layout responsive?
Sì, ed è proprio uno dei casi migliori. L’elemento ancorato segue il riferimento e può cambiare lato quando incontra un bordo. Per trasformazioni più ampie del layout restano utili media query e container query.
Serve ancora JavaScript?
Non per calcolare continuamente la posizione nei casi coperti dal CSS. Può servire per la logica applicativa, l’aggiornamento dei dati o componenti non esprimibili con HTML nativo. Meno script di geometria significa in genere meno punti di rottura.
Posso usarlo oggi in produzione?
Sì, se il progetto include un fallback sensato e una verifica sui browser supportati dal proprio pubblico. L’adozione non dovrebbe trasformare un miglioramento visivo in un requisito per accedere alle funzioni essenziali.
Progettare relazioni, non coordinate
CSS Anchor Positioning sposta l’attenzione da “dove metto questo rettangolo?” a “a quale elemento appartiene?”. È una differenza tecnica, ma anche progettuale: rende esplicita la relazione tra controllo e contenuto, lasciando al browser il compito di adattarla allo spazio disponibile.
Hai un menu o un tooltip che si rompe sui dispositivi piccoli?
Posso aiutarti a trasformarlo in un componente più stabile, accessibile e coerente con il tuo sistema visivo. Raccontami il problema e partiamo dal comportamento reale, non da una soluzione preconfezionata.


