Anchor Positioning: overlays ligados a un elemento sin cálculos JS

Aprende a usar `anchor-name`, `position-anchor` y `anchor()` para colocar tooltips, popovers y ayudas contextuales respecto a otro elemento con mucho menos pegamento manual.

Muchos overlays de interfaz no son complejos por diseño, sino por coordenadas: medir botones, compensar scroll, recalcular al cambiar el layout y pelear con wrappers auxiliares.

CSS Anchor Positioning propone un modelo más directo. Un elemento declara un nombre de ancla y otro puede alinearse a sus bordes o centro sin pasar por `getBoundingClientRect()` en cada interacción.

Es una capacidad moderna y todavía desigual en compatibilidad, así que además de aprender la sintaxis conviene aprender el enfoque correcto de fallback.

  • Piensa menos en píxeles absolutos y más en relaciones entre elementos.
  • Con `anchor-name` nombras el elemento de referencia. Con `position-anchor` dices a qué ancla responde el overlay. Y con funciones como `anchor(bottom)` o `anchor(center)` pides coordenadas derivadas de esa relación.
  • El resultado es especialmente útil en tooltips, ayudas de formulario, popovers contextuales y menús que deben seguir a un trigger aunque el layout cambie.
  • El ejemplo clásico sirve muy bien para interiorizar la sintaxis.
  • No sustituye todas las técnicas de posicionamiento, pero sí alivia las más frágiles.

La idea base: declarar una ancla y consumirla

Piensa menos en píxeles absolutos y más en relaciones entre elementos.

Con `anchor-name` nombras el elemento de referencia. Con `position-anchor` dices a qué ancla responde el overlay. Y con funciones como `anchor(bottom)` o `anchor(center)` pides coordenadas derivadas de esa relación.

El resultado es especialmente útil en tooltips, ayudas de formulario, popovers contextuales y menús que deben seguir a un trigger aunque el layout cambie.

Patrón mínimo de tooltip

El ejemplo clásico sirve muy bien para interiorizar la sintaxis.

Dónde aporta más que relative y absolute

No sustituye todas las técnicas de posicionamiento, pero sí alivia las más frágiles.

Fallback y mejora progresiva

Aquí la lección importante no es 'usar lo nuevo', sino no atar la UI a soporte perfecto.

Si el overlay es secundario, puedes dejarlo sin mejora o mostrarlo en una posición base. Si es crítico, prepara un fallback con `relative + absolute` o una medición puntual con JavaScript.

La clave profesional está en no duplicar toda la interfaz por entusiasmo. Primero resuelve la versión robusta; después deja que el navegador moderno simplifique el camino.

CSS
40

Anchor Positioning: overlays ligados a un elemento sin cálculos JS

Aprende a usar `anchor-name`, `position-anchor` y `anchor()` para colocar tooltips, popovers y ayudas contextuales respecto a otro elemento con mucho menos pegamento manual.

Código del tema: position-anchor: --trigger;

📘 Teoría

La idea base: declarar una ancla y consumirla

Piensa menos en píxeles absolutos y más en relaciones entre elementos.

1

Con `anchor-name` nombras el elemento de referencia. Con `position-anchor` dices a qué ancla responde el overlay. Y con funciones como `anchor(bottom)` o `anchor(center)` pides coordenadas derivadas de esa relación.

2

El resultado es especialmente útil en tooltips, ayudas de formulario, popovers contextuales y menús que deben seguir a un trigger aunque el layout cambie.

Patrón mínimo de tooltip

El ejemplo clásico sirve muy bien para interiorizar la sintaxis.

Tooltip anclado
.button {
  anchor-name: --help-button;
}

.tooltip {
  position: absolute;
  position-anchor: --help-button;
  top: anchor(bottom);
  left: anchor(center);
  transform: translateX(-50%);
}

Dónde aporta más que relative y absolute

No sustituye todas las técnicas de posicionamiento, pero sí alivia las más frágiles.

1

Tooltips y ayudas

La relación visual ya existe: el contenido debe aparecer junto al elemento que lo invoca.

2

Popovers pequeños

Estados de filtros, información contextual o confirmaciones rápidas ganan limpieza sin cálculos manuales.

3

Componentes reutilizables

La lógica de posición deja de depender tanto del entorno concreto y vive mejor dentro del propio componente.

Fallback y mejora progresiva

Aquí la lección importante no es 'usar lo nuevo', sino no atar la UI a soporte perfecto.

1

Si el overlay es secundario, puedes dejarlo sin mejora o mostrarlo en una posición base. Si es crítico, prepara un fallback con `relative + absolute` o una medición puntual con JavaScript.

2

La clave profesional está en no duplicar toda la interfaz por entusiasmo. Primero resuelve la versión robusta; después deja que el navegador moderno simplifique el camino.

🧪 Aprende probando

Ejemplo Demo interactiva: tooltip nativo y popover contextual Observa cómo el overlay sigue al trigger con soporte nativo y cómo cambia el enfoque cuando el navegador necesita fallback.

🏁 Retos

Reto Reto: vincular un tooltip al botón correcto Declara un nombre de ancla, úsalo en el tooltip y colócalo debajo del trigger.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre CSS.

Test de CSS

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .