Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Tres <div> que actúen como un solo enlace.

Estas en el tema de Tres <div> que actúen como un solo enlace. en el foro de CSS en Foros del Web. Buenos días compañeros, A lo mejor la consulta que voy a hacer es muy básica, pero de verdad que no caigo en la manera de ...
  #1 (permalink)  
Antiguo 17/10/2013, 10:14
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Tres <div> que actúen como un solo enlace.

Buenos días compañeros,

A lo mejor la consulta que voy a hacer es muy básica, pero de verdad que no caigo en la manera de hacerlo.

Estaba trasteando con una imagen que consta de tres palabras, por ejemplo:

Hola
Como
Estas

Y pensé... ¿qué tal si creo esto mismo en CSS y así no utilizo una imagen?

Imaginaros que las tres palabras son un mismo enlace (a href) y están incluídas dentro de un mismo <div>. Por tanto cuando clique en cualquier zona del <div> se iluminarán los tres enlaces a la vez (hover) me dirigirá a la misma página.

Hasta aquí todo bien, pero.. ¿y si quiero que el "Como" central sea por ejemplo más pequeño que el "Hola" y el "Estas"? ¿Como lo haríais?

Pongo un ejemplo no funcional para ver mejor lo que quiero conseguir:

<a href="http://google.com">

<div id="tamanonormal">
Hola
</div>

<div id="tamanopequeno">
Como
</div>

<div id="tamanonormal">
Estas
</div>
</a>

Muchas gracias por vuestro tiempo.
  #2 (permalink)  
Antiguo 17/10/2013, 10:20
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Tres <div> que actúen como un solo enlace.

Hola en mi caso lo haría de la siguiente manera:

Código HTML:
Ver original
  1. <a href="http://google.com">
  2.     <span id="tamanonormal">
  3.         Hola
  4.     </span>
  5.     <span id="tamanopequeno">
  6.         Como
  7.     </span>
  8.     <span id="tamanonormal">
  9.         Estas
  10.     </span>
  11. </a>

Código CSS:
Ver original
  1. a{
  2.     display:inline-block;
  3.     width:300px; /*Opcional solo para ver que el span de Como se centre*/
  4. }
  5. a span{
  6.     display:block;
  7. }
  8. #tamanopequeno{
  9.     text-align:center;
  10. }

Demo

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #3 (permalink)  
Antiguo 18/10/2013, 04:47
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Tres <div> que actúen como un solo enlace.

Muchas gracias, funciona de maravilla. Parece que el secreto esta en los display's.

En caso de que al enlace le quiera dar un selector, ¿como debería escribir el "a span" y el "a"?

Código HTML:
Ver original
  1. <a href="index.html" id="footer_logo">
  2.            
  3. <span id="footer_logo_first">
  4. Hola
  5. </span>
  6.                    
  7. <span id="footer_logo_center">
  8. Como
  9. </span>
  10.                    
  11. <span id="footer_logo_first">
  12. Estas
  13. </span>


Código CSS:
Ver original
  1. #footer_logo {
  2.  
  3. text-indent:-9999px;
  4. margin-right:22px;
  5. width:111px;
  6. height:45px;
  7.  
  8.  
  9. }
  10.  
  11. #footer_logo a{
  12.     display:inline-block;
  13.     width:300px;
  14.    
  15. }
  16.  
  17. #footer_logo a span {
  18.  
  19.     display:block;
  20.  
  21. }
  22.  
  23. #footer_logo_first{
  24.  font-size:40px;
  25.  
  26. }
  27. #footer_logo_center{
  28.  
  29.   font-size:20px;
  30.   padding-bottom: 0px;
  31.   padding-top: 0px;
  32.  
  33. }

Esto anterior no funciona, a y a span no saben a qué selector me refiero.


Gracias de nuevo.
  #4 (permalink)  
Antiguo 18/10/2013, 10:28
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Tres <div> que actúen como un solo enlace.

Si te fijas ya le estas dando un identificador a el a por ello el código quedaría de la siguiente manera:

Código CSS:
Ver original
  1. #footer_logo {
  2.  
  3. text-indent:-9999px;
  4. margin-right:22px;
  5. width:111px;
  6. height:45px;
  7.  
  8.  
  9. }
  10.  
  11. #footer_logo {
  12.     display:inline-block;
  13.     width:300px;
  14.    
  15. }
  16.  
  17. #footer_logo span {
  18.  
  19.     display:block;
  20.  
  21. }
  22.  
  23. #footer_logo_first{
  24.  font-size:40px;
  25.  
  26. }
  27. #footer_logo_center{
  28.  
  29.   font-size:20px;
  30.   padding-bottom: 0px;
  31.   padding-top: 0px;
  32.  
  33. }

Pero lo que creo es que tu estructura deberia ser asi:

Código HTML:
Ver original
  1. <div id="footer_logo">
  2. <a href="index.html">
  3.            
  4. <span id="footer_logo_first">
  5. Hola
  6. </span>
  7.                    
  8. <span id="footer_logo_center">
  9. Como
  10. </span>
  11.                    
  12. <span id="footer_logo_first">
  13. Estas
  14. </span>
  15. </a>
  16. </div>

De esta manera el código original que publicaste debería funcionar

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #5 (permalink)  
Antiguo 18/10/2013, 10:39
 
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Tres <div> que actúen como un solo enlace.

Mil gracias, en cuanto llegue a casa le daré un buen repaso a la estructura anterior y a la que propones para notar la diferencia.
  #6 (permalink)  
Antiguo 18/10/2013, 10:41
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: Tres <div> que actúen como un solo enlace.

Ok, si te sirve, recuerda compartir tu solución

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.

Etiquetas: hover, página, tres
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:43.