Quiero tener una casilla de verificación oculta que no ocupe espacio en la pantalla.
Si tengo esto:
<div id="divCheckbox" style="visibility: hidden">
No veo la casilla de verificación, pero aún así crea una nueva línea.
Si tengo esto:
<div id="divCheckbox" style="visibility: hidden; display:inline;">
ya no crea una nueva línea, pero ocupa espacio horizontal en la pantalla.
¿Hay alguna manera de tener un div oculto que no ocupe espacio (vertical u horizontal?
Respuestas:
Utilizar
display:none;
visibility: hidden
oculta el elemento, pero aún ocupa espacio en el diseño.display: none
elimina el elemento completamente del documento, no ocupa espacio.fuente
<div id="divCheckbox" style="display: inline-block;">
inline-block
? Eldisplay
valor predeterminado para un div esblock
!display: none
dedisplay: inline-block
o equivalente sin el div se muestra ahora ocupando espacio y moviendo mis otros elementos DOM alrededor?display: none
aunque directamente desde HTML. Sin embargo, cualquier uso de ladisplay
propiedad anula el comportamiento delhidden
atributo global.Desde el lanzamiento de HTML5 uno ahora simplemente puede hacer:
Nota: Esto no es compatible con algunos navegadores antiguos, especialmente IE <11.
Documentación de atributos ocultos ( MDN , W3C )
fuente
Uso
style="display: none;"
. Además, probablemente no necesite tener el DIV, solo establecer el estilodisplay: none
en la casilla de verificación probablemente sea suficiente.fuente
visibility: hidden
pero eso mostraba un espacio vacío.style="display: none;"
funcionó como un pequeño encanto :)Además de la respuesta de CMS, es posible que desee considerar colocar el estilo en una hoja de estilo externa y asignar el estilo al ID, de esta manera:
fuente
Dado que debe centrarse en la usabilidad y las generalidades en CSS, en lugar de usar una identificación para apuntar a un elemento de diseño específico (que da como resultado archivos css enormes o múltiples), probablemente debería usar una clase verdadera en su archivo .css vinculado:
o para el minimalista:
Ahora puede simplemente aplicarlo a través de:
fuente
Considere usar
<span>
para aislar pequeños segmentos de marcado para diseñar sin romper el diseño. Esto parecería ser más idiomático que intentar forzar a que<div>
no se muestre, si de hecho la casilla de verificación en sí no se puede diseñar de la manera que desea.fuente
Mostrar / ocultar haciendo clic con el mouse:
Fuente: aquí
fuente
Para evitar que la casilla de verificación ocupe espacio sin eliminarlo del DOM, use
hidden
.Para evitar que la casilla de verificación ocupe cualquier espacio y también lo elimine del DOM, use
display: none
.fuente
Para ocultar el elemento visualmente , pero mantenerlo en el html, puede usar:
o
¿Qué puede salir mal
display:none
? Elimina el elemento completamente del html, por lo que algunas funcionalidades pueden romperse si necesitan acceder a algo en el elemento oculto.fuente
Esto debería hacer que el elemento desaparezca y no ocupe ningún espacio.
fuente