Puedes recibir las actualizaciones gratis por email

Tooltip oculto con CSS

tooltip-bocadillo-texto-oculto-css

Los bocadillos de texto (tooltip) son un recurso muy interesante a la hora de mostrar textos informativos. En esta entrada aprenderemos a crearlos usando HTML, CSS y 3 imágenes. Estos bloques de información quedarán ocultos y únicamente se mostrarán al mover el ratón encima de un enlace.

Antes que nada es necesario mostrar las imágenes con las que ilustraremos y daremos forma a nuestro bloque oculto. Podéis descargarlas haciendo click aquí.

Código CSS

Daremos estilo a los enlaces junto con la etiqueta <span>. Esta etiqueta, es la que nos ayudará, mediante el atributo :hover, a mostrar el bloque de información cuando nos posicionemos encima de un enlace. Cabe destacar la línea display: block; para darle una disposición de bloque al contenido oculto.

div#mitexto{width: 500px; margin:0 auto}

a.tt
a.tt span{ display: none; }

/*background:; ie hack*/
a.tt:hover{ z-index:25; color: #aaaaff; }
a.tt:hover span.tooltip{
    display:block;
    position:absolute;
    top:0px; left:0;
	padding: 15px 0 0 0;
	width:200px;
	color: #993300;
    text-align: center;
}
a.tt:hover span.top{
	display: block;
	padding: 30px 8px 0;
    background: url(bubble.gif) no-repeat top;
}
a.tt:hover span.middle{ /* altura del bloque variable */
	display: block;
	padding: 0 8px;
	background: url(bubble_filler.gif) repeat bottom;
}
a.tt:hover span.bottom{
	display: block;
	padding:3px 8px 10px;
	color: #548912;
    background: url(bubble.gif) no-repeat bottom;
}

Código HTML

El contenedor tiene asignado un ancho específico, aunque esto es opcional y puede ser eliminado. Dentro del enlace se insertan varias etiquetas con las que conseguiremos asignarle una forma y estructura al tooltip por medio de imágenes. Se añade una para la parte superior, otra para el fondo, el cual varía su altura según la cantidad de texto que haya dentro del bocadillo de texto (tooltip), y otra para la parte inferior, anidadas unas con otras.

<div id="mitexto">
		<h1>Encabezado 1</h1>
		<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas mi enim, tincidunt vitae pharetra sed, consequat nec velit.
 <a class="tt" href="#">MI ENLACE<span class="tooltip"><span class="middle">Felicidades, acabas de encontrar un contenido oculto</span><span class="bottom"></span></span></a>.
 </p>
	</div>

Estandarización

CSS 2.1 válido.

XHTML 1.0 Transitional válido.

Ejemplo de su funcionamiento

Dejadme recordaros que podéis ver esta otra entrada sobre tooltips (bocadillos de texto) a los que no les hemos dado la opción de ocultación.

Vía | Trentrichardson.com

Sigue la onda...

Puedes recibir gratis más artículos por RSS, Twitter, Facebook o correo electrónico. ¡Muchas gracias por leerme!

Autor de CSSBlog ES

Por ahora hay 6 comentarios ¿Quieres opinar?

[...] This post was mentioned on Twitter by Juan Maria Nieves and Christian González. Christian González said: Otro interesante Tooltip con CSS http://bit.ly/r6VBB [...]

10.01.09

uhmmm… interesante… :-)

10.01.09

Buenas,

alguna solución para que funcione en Iexplorer6?

Un saludo, gracias por tu trabajo!

10.01.09

no se puede descargar el pack de imagenes, porfavor arreglenlo

10.01.09

Hola. Veo este post sobre tooltip y expongo mi caso. Soy un traductor que e-dita sus traducciones en internet (http://www.juanmanuelsalmeron.com), y uso tooltips para lo que, en edición en papel, serían las notas a pie de página: se pasa el ratón por la llamada y aparece el elemento con la explicación correspondiente. Pero la cosa tiene varias limitaciones, a las que quisiera poner remedio. Para empezar, el tooltip aparece siempre en la misma posición, por lo que, a veces, si la llamada queda en una orilla, desaparece por los bordes de la ventana, y solo es posible leer su contenido desplazándose con las flechas (se activan las scrollbars, creo que se llaman). Sin embargo, sé que hay tooltips que modifican su posición para ser siempre visibles íntegramente en la pantalla.
Otro problema, este más serio, es que el tooltip desaparece en cuanto muevo el ratón de la llamada, y por tanto no puedo “entrar” dentro del tooltip, lo que sería muy aconsejable para poder incluir, por ejemplo, enlaces en los que pinchar.

Aquí dejo el código y el body del tooltip que uso:

En código:

a.info {
position:relative;
z-index:24;
color:#000;
text-decoration:none;
}
a.info:hover {
z-index:25;
}
a.info span {
display: none;
}
a.info:hover span {
display:block;
position:absolute;
top:2em;
left: 0cm;
border:1px solid #000000;
background-color:#FFFFFF;
color:#000000;
text-align:justify;
font-family: Times;
font-size: 14px;
padding: 10px;
}
En body:

<a href=”#” class=”info” onclick=”return false”>°Texto del tooltip.
Como veis, la anchura no la defino en el código, sino en el del body, para ajustar en cada caso el tamaño de la nota. ¿Qué me decís?

10.01.09

Es mejor que lo preguntes en el foro, mucho más cómodo de contestar: http://comunidad.cssblog.es

Un saludo.

Escribir un comentario

Tu comentario:
* El nombre, email y el comentario son requeridos
Comentaristas del mes
Últimos comentarios
  • Boda: Gracias Pedro, lo probaré a ver si me funciona bien porque le iría perfecto a mi blog que...
  • drakkar: hola necesito centrar el menu dentro del div que lo contiene pero mira lo que pasa cuando hago esto: <...
  • Erik: Gracias muchas.. muy bueno!
  • Pedro CM: Ya veo que lo retwitteaste por Twitter, me alegro ;-) . My recent post Pack de 100000 tipografías...
  • JuniHH: Te agradezco muchismo el enlace de los bordes redondeados sin necesidad de JS's raros. Cuando...
Patrocinadores