Foros del Web » Creando para Internet » CSS »

hacer un div como un enlace

Estas en el tema de hacer un div como un enlace en el foro de CSS en Foros del Web. Hola amigo/as. http://img695.imageshack.us/img695/3209/divs.png Tengo unos div parecidos a los de la imagen que les muestro, compuestos por un <h3>, un <img> y un <p>. Me ...
  #1 (permalink)  
Antiguo 13/09/2011, 04:04
Avatar de PedroDesing  
Fecha de Ingreso: octubre-2007
Ubicación: Barcelona, España
Mensajes: 202
Antigüedad: 17 años, 1 mes
Puntos: 18
hacer un div como un enlace

Hola amigo/as.

http://img695.imageshack.us/img695/3209/divs.png

Tengo unos div parecidos a los de la imagen que les muestro, compuestos por un <h3>, un <img> y un <p>. Me gustaría conseguir que todo el div fuera un enlace, ya que me gustaria que al pasar el ratón encima del div, me cambiara el color de fondo y pudiera hacer clic en cualquier parte del mismo para accender a sus contenidos.

Alguna idea???

Muchas gracias.
__________________
pedrorodas.com próximamente! Permanezcan atentos
  #2 (permalink)  
Antiguo 13/09/2011, 08:16
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
Respuesta: hacer un div como un enlace

Podes encerrar todo tu contenido con un <a>


Código HTML:
Ver original
  1. <a href="#">
  2. <h3></h3>
  3. ... etc...
  4. </a>

y das:

Código CSS:
Ver original
  1. a{display:block;}


también puedes dar un onclick sobre un div:

Código HTML:
Ver original
  1. <div id="ejemplo">
  2. <h3></h3>
  3. ... etc...
  4. </div>


Código Javascript:
Ver original
  1. // requiere jquery
  2. $(document).ready(function(){
  3.     $("#ejemplo").click(function(){
  4.         window.location = "http://www.google.com";
  5.     });
  6.     */
  7.     /*o bien un interruptor.
  8.     $("#ejemplo").toggle(
  9.         function(){
  10.             $("#ejemplo h3").css({"color":"red"});
  11.            
  12.         },
  13.         function(){
  14.             $("#ejemplo h3").css({"color":"black"});
  15.         }
  16.     );
  17.     */
  18. });

Saludos.
  #3 (permalink)  
Antiguo 13/09/2011, 08:41
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: hacer un div como un enlace

cristian, los elemento de bloque no pueden estar dentro de los elementos en línea
el tema está "repetido" http://www.forosdelweb.com/f53/hacer...5/#post3985890
  #4 (permalink)  
Antiguo 13/09/2011, 08:53
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
Respuesta: hacer un div como un enlace

Cita:
Iniciado por IsaBelM Ver Mensaje
cristian, los elemento de bloque no pueden estar dentro de los elementos en línea.
Ok, por eso ponemos display:block; para transformarlo en bloque. A los fines prácticos funciona, aunque no se si validará, supongo que sí.

Saludos.
  #5 (permalink)  
Antiguo 13/09/2011, 15:20
Avatar de tinocastro  
Fecha de Ingreso: septiembre-2011
Ubicación: Andalucia
Mensajes: 10
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: hacer un div como un enlace

Cita:
Iniciado por PedroDesing Ver Mensaje
Hola amigo/as.

[url]http://img695.imageshack.us/img695/3209/divs.png[/url]

Tengo unos div parecidos a los de la imagen que les muestro, compuestos por un <h3>, un <img> y un <p>. Me gustaría conseguir que todo el div fuera un enlace, ya que me gustaria que al pasar el ratón encima del div, me cambiara el color de fondo y pudiera hacer clic en cualquier parte del mismo para accender a sus contenidos.

Alguna idea???

Muchas gracias.
No he llegado a probar, pero creo que asi quedaria como quieres:
Cita:
<div id="nombrecapa"><a href""></a>
en css le das las etiquetas p y h.
Saludos
  #6 (permalink)  
Antiguo 14/09/2011, 14:17
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: hacer un div como un enlace

como había algo que me rayaba en el código, lo probé en ie y mis sospechas se confirmaron. no funciona!!. la solución que se me ha ocurrido en añadir una imagen de fondo transparente, por lo que quedaría así

Cita:
.contenedor a {background-image: url('pixel_transparente.gif'); position: absolute; width: 100%; height: 400px;}

<div class="contenedor">
<a href="#"></a>
<h3>enunciado</h3>
<img src="img.png" />
<p>texto</p>
</div>
  #7 (permalink)  
Antiguo 15/09/2011, 18:16
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 9 meses
Puntos: 998
Respuesta: hacer un div como un enlace

Cita:
Iniciado por cristian_cena Ver Mensaje
Ok, por eso ponemos display:block; para transformarlo en bloque. A los fines prácticos funciona, aunque no se si validará, supongo que sí.
no cristian, no es algo válido. lo que importa es el estado natural de los elementos, y el A es naturalmente un elemento en línea... así que no le puedes poner dentro un h3
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #8 (permalink)  
Antiguo 16/09/2011, 06:55
Avatar de RafaRG  
Fecha de Ingreso: julio-2011
Ubicación: Córdoba, España
Mensajes: 124
Antigüedad: 13 años, 4 meses
Puntos: 13
Respuesta: hacer un div como un enlace

otra solución podría ser poner el div como una imagen. ya sé que resulta un poco rudimentario, pero es más seguro XD
la idea sería:
1 haces el div que quieres que aparezca
2 vas a la página y haces una captura de pantalla
3 pega la captura en el paint y recortas las imágenes
4 quita el div y pon la imágenes como enlace en su lugar

si quieres que al poner el cursor sobre la imagen, el fondo cambie, simplemente, antes de quitar el div, cambias el color de fondo (o lo que quieras) y repites el proceso. luego tendrás que usar un script para que cambie de imagen al pasar el cursor.
  #9 (permalink)  
Antiguo 16/09/2011, 12:44
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: hacer un div como un enlace

Cita:
Iniciado por cristian_cena Ver Mensaje
Ok, por eso ponemos display:block; para transformarlo en bloque. A los fines prácticos funciona, aunque no se si validará, supongo que sí.

Saludos.
hacemos que se comporte como un bloque pero no pierde el tipo de elemento que es

Cita:
Iniciado por webosiris Ver Mensaje
no cristian, no es algo válido. lo que importa es el estado natural de los elementos, y el A es naturalmente un elemento en línea... así que no le puedes poner dentro un h3
puedes comproblarlo tu mismo. sólo hay que añadir el atributo alt a la imagen. http://validator.w3.org/#validate_by_input+with_options + Validate HTML fragment + XHTML 1.0

Cita:
Iniciado por RafaRG Ver Mensaje
otra solución podría ser poner el div como una imagen. ya sé que resulta un poco rudimentario, pero es más seguro XD
y si no encontramos con ..... 50 y los datos son obtenidos dinámicamente??

Última edición por IsaBelM; 17/09/2011 a las 07:30 Razón: respuesta ambigua
  #10 (permalink)  
Antiguo 20/09/2011, 06:48
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
Respuesta: hacer un div como un enlace

haber, como hacen para hacer esto sin javascript y que valide el css?. O le dicen al diseñador: mire señor no se puede. O hacemos que ande igual sin validar. saludos.
  #11 (permalink)  
Antiguo 20/09/2011, 07:01
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: hacer un div como un enlace

Cita:
Iniciado por cristian_cena Ver Mensaje
haber, como hacen para hacer esto sin javascript y que valide el css?
no comprendo que quieres decir
  #12 (permalink)  
Antiguo 20/09/2011, 08:35
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
Respuesta: hacer un div como un enlace

claro, ¿como haces un bloque con contenido anidado que sea clickeable, y al clickearse direccione a alguna url y al mismo tiempo valide?. O le decis al diseñador "no se puede solo con css", o tomas el evento onclick con javascript y lo solucionás, o anidas contenido al enlace haciendolo solo con css aún sabiendo que es código no válido pero que funciona a la perfección.
  #13 (permalink)  
Antiguo 20/09/2011, 12:47
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: hacer un div como un enlace

continuo sin comprenderlo

validación del css


validación del html


Última edición por IsaBelM; 20/09/2011 a las 12:55
  #14 (permalink)  
Antiguo 22/09/2011, 09:32
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
Respuesta: hacer un div como un enlace

isabel, lo que haces está bien, pero según entendí yo, no es lo que necesita pedro.
En este caso div.contenedor debe ser clickeable y enlazar a una url. A eso me refería.
Igualmente creo que ya está aclarado el tema.

Saludos.
  #15 (permalink)  
Antiguo 22/09/2011, 13:51
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 16 años, 5 meses
Puntos: 1012
Respuesta: hacer un div como un enlace

Cita:
Iniciado por cristian_cena Ver Mensaje
isabel, lo que haces está bien, pero según entendí yo, no es lo que necesita pedro.
En este caso div.contenedor debe ser clickeable y enlazar a una url. A eso me refería.
Igualmente creo que ya está aclarado el tema.

Saludos.
el problema viene por que no has ejecutado el código. pruebalo por ti mismo. al hacer click en div.contenedor te redirecciona a la url asignada
  #16 (permalink)  
Antiguo 22/09/2011, 14:22
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 15 años, 5 meses
Puntos: 269
Respuesta: hacer un div como un enlace

excelente isabel, en realidad la url la tiene el enlace superpuesto :) lo voy a tener presente, saludos.
  #17 (permalink)  
Antiguo 22/09/2011, 15:34
Avatar de DrFaust  
Fecha de Ingreso: septiembre-2011
Ubicación: Buenos Aires
Mensajes: 308
Antigüedad: 13 años, 2 meses
Puntos: 87
Respuesta: hacer un div como un enlace

+1 a IsaBelM. Gracias por el método; lo voy a empezar a usar.
__________________
Desarrollador web profesional

Etiquetas: contenido, enlace, fondo
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 20:03.