CSS Tooltip

  • por

Crea tooltips con CSS.

Demo: Ejemplos de tooltip

Un tooltip se suele utilizar para especificar información extra sobre algo cuando el usuario pasa el puntero del ratón por encima de un elemento:

Texto superior del tooltip
Texto derecho del tooltip
Texto inferior del tooltip
.

Texto del Tooltip izquierdo

Tooltip básico

Crea un tooltip que aparezca cuando el usuario pase el ratón por encima de un elemento:

Ejemplo explicado

El texto del tooltip se coloca dentro de un elemento inline (como <span>) con class="tooltiptext".

CSS: La clase tooltip utiliza position:relative, que es necesario para posicionar el texto del tooltip (position:absolute).Nota: Vea los ejemplos a continuación sobre cómo posicionar el tooltip.

La clase tooltiptext contiene el texto real del tooltip. Está oculto por defecto, y será visible al pasar por encima (ver más abajo). También le hemos añadido algunos estilos básicos: 120px de ancho, color de fondo negro, color de texto blanco, texto centrado y 5px de relleno superior e inferior.

La propiedad CSS border-radius se utiliza para añadir esquinas redondeadas al texto del tooltip.

El selector :hover se utiliza para mostrar el texto del tooltip cuando el usuario pasa el ratón por encima del <div> con class="tooltip".

Posicionamiento de los tooltips

En este ejemplo, el tooltip se coloca a la derecha (left:105%) del texto «hoverable» (<div>). También hay que tener en cuenta que top:-5px se utiliza para colocarlo en el centro de su elemento contenedor. Usamos el número 5 porque el texto del tooltip tiene un padding superior e inferior de 5px. Si aumentas su padding, aumenta también el valor de la propiedad top para asegurarte de que se mantiene en el centro (si es algo que quieres). Lo mismo se aplica si quieres que el tooltip se coloque a la izquierda.

Herramienta derecha

.tooltip .tooltiptext {
top: -5px;
left: 105%;
}

Resultado:

Pasa el ratón por encima del texto de Tooltip

Pruébalo tú mismo »

Herramienta izquierda

.tooltip .tooltiptext {
top: -5px;
right: 105%;
}

Resultado:

Pasa por encima de mí Tooltip text

Pruébalo tú mismo »

Si quieres que el tooltip aparezca en la parte superior o en la parte inferior, consulta los ejemplos de abajo. Tenga en cuenta que utilizamos la propiedad margin-left con un valor de menos 60 píxeles. Esto es para centrar el tooltip por encima/debajo del texto hoverable. Se ajusta a la mitad del ancho del tooltip (120/2 = 60).

Flechas del Tooltip

Para crear una flecha que debe aparecer desde un lado específico del tooltip, añade contenido «vacío» después del tooltip, con la clase de pseudo-elemento ::after junto con la propiedad content. La flecha en sí se crea usando bordes. Esto hará que el tooltip parezca una burbuja de diálogo.

Este ejemplo demuestra cómo añadir una flecha en la parte inferior del tooltip:

Ejemplo explicado

Posiciona la flecha dentro del tooltip: top: 100% colocará la flecha en la parte inferior del tooltip. left: 50% centrará la flecha.

Nota: La propiedad border-width especifica el tamaño de la flecha. Si cambias esto, cambia también el valor de margin-left al mismo. Esto mantendrá la flecha centrada.

El border-color se utiliza para transformar el contenido en una flecha. Establecemos el borde superior en negro, y el resto en transparente. Si todos los lados fuesen negros, acabarías con una caja cuadrada negra.

Este ejemplo demuestra cómo añadir una flecha a la parte superior de la información sobre herramientas. Fíjese que esta vez hemos establecido el color del borde inferior:

Este ejemplo demuestra cómo añadir una flecha a la izquierda de la información sobre herramientas:

Este ejemplo demuestra cómo añadir una flecha a la derecha de la información sobre herramientas:

Fade In Tooltips (Animación)

Si quieres desvanecer el texto del tooltip cuando está a punto de ser visible, puedes usar la propiedad CSS transition junto con la propiedad opacity, y pasar de ser completamente invisible a 100% visible, en un número de segundos especificado (1 segundo en nuestro ejemplo):

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *