Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del mismo? css3

Estas en el tema de ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del mismo? css3 en el foro de CSS en Foros del Web. ¡Buenas noches (al menos, en España)! En mi anterior pregunta, comentaba que sería más fácil hacer que "desapareciese" al hacerle click. PERO se me olvidó ...
  #1 (permalink)  
Antiguo 10/01/2015, 16:12
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 24
Antigüedad: 9 años, 9 meses
Puntos: 1
Pregunta ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del mismo? css3

¡Buenas noches (al menos, en España)!

En mi anterior pregunta, comentaba que sería más fácil hacer que "desapareciese" al hacerle click. PERO se me olvidó que eso sólo sé hacerlo con los enlaces (<a>), pero NO con los div(<div>)

Quisiera que al hacer click en un div, en cualquier parte del div o de su contenido (como cualquiera de sus párrafos hijos o su borde o lo que sea...) todo el div con todo su contenido desaparezca.

He aprendido a hacerlo sin que le haga click, con @keyframes. Pero no sé hacerlo con interacción del usuario mediante click en cualquier parte del div... a menos que lo ponga dentro de un enlace, lo cual no parece la mejor opción... Y metiendo el enlace dentro del div tampoco porque sólo desaparece el enlace y permanece el div.

A ser posible, SIN javascript, ni ningún derivado del mismo, como JQuery, porque siempre hay que lo tiene desactivado y quiero que sea para todos...


¡Saludos, compañer@s!
  #2 (permalink)  
Antiguo 10/01/2015, 16:14
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Tienes que usar JavaScript. Con CSS no puedes.

Podrías hacer una gran pirula usando elementos de formulario o incluso :target, pero no parece ser muy limpio para mi gusto.
__________________
(:
  #3 (permalink)  
Antiguo 10/01/2015, 16:22
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 24
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Cita:
Iniciado por pzin Ver Mensaje
Tienes que usar JavaScript. Con CSS no puedes.

Podrías hacer una gran pirula usando elementos de formulario o incluso :target, pero no parece ser muy limpio para mi gusto.
Por eso no quería meter el div dentro del a... porque no me parece muy "limpio"... :D
¿Hay algún otro lenguaje que pueda hacerlo y que, al contrario que sucede con Javascript, NO pueda estar bloqueado por los navegadores?
  #4 (permalink)  
Antiguo 10/01/2015, 18:27
Avatar de mbm150  
Fecha de Ingreso: enero-2013
Ubicación: Muskiz
Mensajes: 79
Antigüedad: 11 años, 3 meses
Puntos: 21
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Hola de nuevo,

si yo fuera tu, usaría javascript. Si te empeñas en no usarlo, con css tendrías que hacer un invento algo raro: http://jsfiddle.net/mbm150/dt3yy6vh/1/

Más o menos así.

Saludos.
  #5 (permalink)  
Antiguo 11/01/2015, 11:39
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 24
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Cita:
Iniciado por mbm150 Ver Mensaje
Hola de nuevo,

si yo fuera tu, usaría javascript. Si te empeñas en no usarlo, con css tendrías que hacer un invento algo raro: [URL="http://jsfiddle.net/mbm150/dt3yy6vh/1/"]http://jsfiddle.net/mbm150/dt3yy6vh/1/[/URL]

Más o menos así.

Saludos.
¡Muchas gracias! He probado a hacerlo similar, pero no me queda como queria... No logro hacerlo exactamente del mismo tamaño ni en la misma posición y, para colmo, no logro que se deshabilite para que no haga nada si se le vuelve a hacer click arriba una vez que ha desaparecido (porque le he puesto una animación y alunque desaparece, si le das click vuelve a aparecer). Debo estar bloqueado... :D

En cualquier caso, creo que esta notificación la voy a dejar visible todo el tiempo. No obstante, ese invento me ha resultado bastante ingenioso... pero sobrepasa mis conocimientos. Quizá lo use en otra ocasión o quizá, no. Pero me ha servido... he aprendido algo.

¡Gracias!

PD: quizá en algún momento me decida a pasarme a Javascript, pero como algunos navegadores tienen la posibilidad de bloquearlo... y, si no recuerdo mal, hay otros que ni lo traen de serie (o quizá eso era antes), prefiero que lo puedan ver todos igual...
  #6 (permalink)  
Antiguo 11/01/2015, 12:57
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Hacer eso con formularios es un tanto chapucero, porque… ¡Es un formulario! Para cuestiones de experimentación (que es de dónde suelen salir estas cosas) está bien, pero para la vida real es bastante feo.

Yo no me preocuparía tanto. La gente que tiene JavaScript desactivado es muy poca (la mayoría no saben ni qué es) y no es una funcionalidad que haga más o menos útil tu sitio (supongo). Así que si no tienen JavaScript, tampoco se van a perder nada.
__________________
(:
  #7 (permalink)  
Antiguo 12/01/2015, 08:31
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 24
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Cita:
Iniciado por pzin Ver Mensaje
Hacer eso con formularios es un tanto chapucero, porque… ¡Es un formulario! Para cuestiones de experimentación (que es de dónde suelen salir estas cosas) está bien, pero para la vida real es bastante feo.

Yo no me preocuparía tanto. La gente que tiene JavaScript desactivado es muy poca (la mayoría no saben ni qué es) y no es una funcionalidad que haga más o menos útil tu sitio (supongo). Así que si no tienen JavaScript, tampoco se van a perder nada.
¡Jajaja! Totalmente de acuerdo: es un tanto chapucero. Por eso, aunque es efectiva, he decidido dejarlo normal. Entiendo lo que me comentas de Javascript, pero quiero que sea para todo el mundo igual. Así que, al menos esa notificación se quedará fija... Se trata de una notificación si no se logra conectar a la base de datos o si hay algún fallo, etc... Quería que se pudiese cerrar para poder continuar haciendo otras cosas en esa misma página... Pero he pensado que casi que queda mejor así... podría seguir haciendo cosas aunque esté esa notifiación de error.

Creo que ya podría darlo por resuelto, ¿no? O por no resuelto, según se mire...
Digo, para cerrar el tema... ¿qué hago?

Por cierto, gracias a todos.
  #8 (permalink)  
Antiguo 12/01/2015, 09:42
 
Fecha de Ingreso: diciembre-2014
Mensajes: 111
Antigüedad: 9 años, 4 meses
Puntos: 9
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Si el problema es que quieres que todo el mundo lo vea igual tengan activado lo que sea puedes implementar la acción de esconderlo desde php o cualquier otro lenguaje de servidor que uses.

Como te comentan antes, lo mejor es usar javascript para ello (que el lado cliente se encargue de la visualización del cliente), pero si no quieres que sea bloqueable esto te puede servir, aunque si recibes muchas visitas puedes sobrecargar el servidor "tontamente" por una cuestión visual.

También deberías de tener en cuenta que los que bloquean javascript normalmente saben lo que hacen y están acostumbrados a que no se programe para ellos y a que internet "no funcione como debiera", igual que la gente que bloquea las cookies o usa navegadores de texto... El problema es cuándo esas diferencias te pueden llevar a fallos de seguridad que no creo que sea tu caso.

Un saludo.
  #9 (permalink)  
Antiguo 13/01/2015, 15:44
 
Fecha de Ingreso: julio-2014
Ubicación: España
Mensajes: 24
Antigüedad: 9 años, 9 meses
Puntos: 1
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Cita:
Iniciado por Sarlit Ver Mensaje
Si el problema es que quieres que todo el mundo lo vea igual tengan activado lo que sea puedes implementar la acción de esconderlo desde php o cualquier otro lenguaje de servidor que uses.

Como te comentan antes, lo mejor es usar javascript para ello (que el lado cliente se encargue de la visualización del cliente), pero si no quieres que sea bloqueable esto te puede servir, aunque si recibes muchas visitas puedes sobrecargar el servidor "tontamente" por una cuestión visual.

También deberías de tener en cuenta que los que bloquean javascript normalmente saben lo que hacen y están acostumbrados a que no se programe para ellos y a que internet "no funcione como debiera", igual que la gente que bloquea las cookies o usa navegadores de texto... El problema es cuándo esas diferencias te pueden llevar a fallos de seguridad que no creo que sea tu caso.

Un saludo.
Buena respuesta... Me has hecho reflexionar... Daré por solucionado este post y preguntaré en otro del subforo de Javascript sobre esta misma cuestión, pues no creo que se debiera poner una solución con código javascript sin ser el subforo de dicho lenguaje.

Como bien supones, no es imprescindible ni puede dar lugar a fallos de seguridad. :D Por eso voy a dejarlo intacto. Era un mero capricho. PERO me gustaría saber cómo se hace para futuros proyectos o para otras partes que puedan interesarme de este proyecto que puedan ser similares.
  #10 (permalink)  
Antiguo 14/01/2015, 00:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ¿Puedo cerrar un div sin javascript al hacer click en cualquier parte del

Hola:

No te olvides que existe la etiqueta noscript para advertir que es mejor tenerlo activado, por ejemplo...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: cerrar, clicks, css3, divs
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:50.