2010-09-13 12 views
16

Me gustaría hacer algunos elementos vacíos ocultos (los iframes estarían bien, los párrafos lo harían) que luego el Javascript llenaría y modificaría. No he podido averiguar cómo evitar que estos elementos ocupen espacio. Desactivé los márgenes y el relleno, y configuré la altura en cero, pero igual termino en blanco.Elementos ocultos de HTML toman espacio

Me gustaría ver un ejemplo de un elemento oculto que no ocupe espacio en la página. En realidad, me gustaría ver el HTML, CSS y Javascript. :-).

Respuesta

36

Si está utilizando visibility: hidden; usted debe utilizar display: none; lugar.

1

#myelement { display:none; } ya debería hacerlo a través de CSS, utilizando <div id="myelement"></div>

0

La solución más común es una entrada con el tipo oculto.

<input type="hidden" value="yourvalue" id="yourid" /> 

No requiere estilo.

puede establecer el valor de esta entrada con algo como

document.getElementById('yourid').value="The Value Here"; 
0

¿Por qué no puede simplemente establecer style = "display: none" o style = "visibility: hidden", y luego configurarlo para que sea visible después de que haya obtenido el contenido faltante?

3

Supongo que está utilizando la visibilidad: ¿oculto? Como has visto, esto lo ocultará, pero aún ocupará espacio.

Sin embargo, al usar la pantalla: ninguno la ocultará y la eliminará del diseño de la página.

0
style="visibility:hidden;line-height:0;" 

Establecer la altura a menos de la altura de la línea es generalmente una pérdida de tiempo.

1

He encontrado que si uso visibility: none entonces pierdo los objetivos incrustados en esos objetos. Como resultado, establecí el font-size: 0pt que parece funcionar bien para mí.

Utilizo esto para ocultar los nombres predeterminados que ReSTructured text pone para los objetivos internos en línea; span.target { font-size: 0pt };

Cuestiones relacionadas