Valencia, 11/10/2026, G.B.
Durante mucho tiempo, colocar elementos flotantes como tooltips, menús desplegables o modales ha sido un pequeño quebradero de cabeza. Al final, siempre acababas tirando de librerías de terceros en JavaScript para calcular las coordenadas exactas y evitar que el menú se saliera de la pantalla al hacer scroll o redimensionar la ventana. Por suerte, la especificación web moderna nos trae una solución nativa fantástica: CSS Anchor Positioning.
Este artículo toma como referencia y se inspira en la excelente guía técnica sobre posicionamiento por anclaje publicada por Josh W. Comeau en su blog.
¿Cómo funciona el anclaje nativo en CSS?
La idea es tan simple como conectar dos puntos mediante etiquetas en nuestra hoja de estilos. Por un lado, le decimos a nuestro elemento de referencia cuál es su nombre de ancla y, por otro, vinculamos el elemento flotante a ese nombre.
Imagina que tenemos un botón clásico y queremos mostrar una pequeña etiqueta emergente justo al lado:
/* 1. Declaramos el nombre del ancla en el elemento de referencia */
.mi-boton {
anchor-name: --boton-guardar;
}
/* 2. Vinculamos el elemento flotante al ancla */
.tooltip-nativo {
position: absolute;
position-anchor: --boton-guardar;
bottom: anchor(--boton-guardar top);
left: anchor(--boton-guardar center);
transform: translateX(-50%);
}Con apenas unas líneas de CSS puro, el navegador se encarga de hacer todo el trabajo matemático por nosotros, sin necesidad de cargar scripts pesados en segundo plano.
¿Por qué nos interesa en proyectos minimalistas como Indaga.net?
Para los que nos gusta mantener los sitios limpios y sin dependencias innecesarias, esta característica encaja de maravilla por varios motivos:
- Cero dependencias de JavaScript: Al delegar el cálculo de coordenadas directamente al motor del navegador, ganamos en rendimiento y ligereza (Core Web Vitals).
- Fluidez total: El elemento flotante se adapta de forma fluida a los cambios de tamaño, desplazamiento y rotación de la pantalla de manera completamente nativa.
- Mantenimiento sencillo: Se reducen drásticamente las líneas de código necesarias para crear componentes interactivos.
Si quieres profundizar en todos los detalles técnicos, casos de uso avanzados y la compatibilidad actual entre los diferentes navegadores, te recomiendo echarle un vistazo al artículo original de Josh W. Comeau.
+ info en: https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Anchor_positioning/Using
Hacer pruebas en https://developer.mozilla.org/en-US/play
Copia y pega ese código:
<style>
.indaga-demo-wrapper {
display: flex;
gap: 2rem;
align-items: center;
justify-content: center;
margin: 2.5rem 0;
position: relative;
}
/* 1. Declaramos el ancla utilizando la propiedad moderna */
.btn-indaga-info {
anchor-name: --mi-ancla-tooltip;
background-color: #2563eb;
color: #ffffff;
border: none;
padding: 0.75rem 1.5rem;
border-radius: 6px;
font-weight: 600;
cursor: pointer;
}
.btn-indaga-info:hover {
background-color: #1d4ed8;
}
/* 2. Vinculamos el tooltip flotante usando position-anchor */
.tooltip-flotante {
position: absolute;
position-anchor: --mi-ancla-tooltip;
/* Posicionamiento anclado nativo */
bottom: anchor(top);
left: anchor(center);
transform: translateX(-50%);
margin-bottom: 10px;
/* Estilos visuales limpios */
background: #0f172a;
color: #ffffff;
padding: 0.5rem 0.85rem;
border-radius: 6px;
font-size: 0.85rem;
white-space: nowrap;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
/* Control de visibilidad mediante hover */
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s ease;
}
.indaga-demo-wrapper:hover .tooltip-flotante {
opacity: 1;
visibility: visible;
}
</style>
<div class="indaga-demo-wrapper">
<button class="btn-indaga-info">Pasa el cursor por aquí</button>
<div class="tooltip-flotante">¡Tooltip posicionado de forma 100% nativa con CSS!</div>
</div>





