2010-06-15 7 views
10

estoy usando CSS para imprimir sólo una sección de una página:CSS: Elementos Ocultos todavía ocupan espacio en la salida impresa

body { 
visibility:hidden; 
    } 
    .print { 
    visibility:visible; 
    background-color: white; 
    margin: 0; 
    } 

La sección sobre el elemento Quiero imprimir se bien escondido en la letra salida, sin embargo, todavía ocupa el área de espacio. Probé esto haciendo una larga lista vertical de palabras. En la salida de impresión, se produce la misma área de espacio en blanco sin las palabras y luego se produce la salida del elemento. Este problema ocurre en Chrome y Mozilla solamente. También probé las opciones de margen del navegador y ese no es el problema.

¿Alguna idea?

Respuesta

17

Quiere display:none no visibility:hidden. Este último hace que el elemento sea invisible, pero no lo elimina del flujo de documentos.

+0

Gracias mi CSS es débil. Supongo que es una mala idea mostrar: ¿no todo el cuerpo? ¿Debo agregar lo que quiero imprimir a la página o eliminar lo que no quiero? – Cosmin

+0

Creo que 'display: none' on' body' sería una mala idea, ¡pero nunca lo intenté! Probablemente sea mejor que 'display: none' aparezca solo en los elementos que no son de impresión (puede agregar una clase que no sea de impresión en el marcado). – Skilldrick

+0

Suena bien, gracias. – Cosmin

1

pantalla de uso: ninguno; como quiera que se muestre solo impresión y ninguna parte del cuerpo.

2

Utilice @media para imprimir. Por ejemplo:

@media print { 
    * {display: none;} /*or if you want only the body*/ body {display: none;} 
    .print {display: block;} 
} 

(. Únicamente un ejemplo áspero una hoja de estilo actual debe incluir todos los elementos de una página en lugar de comodines)

Entonces la hoja de estilo sólo se utiliza cuando se imprime, o previsualizar impresión.

-1

Even visibility:collapse; lo hace! :)

+0

'visibility: collapse' es lo mismo que' visibility: hidden' si se aplica a elementos que no son de tabla –

2

si queremos display:inline-block o display:block junto con la visibilidad oculta.

Entonces podemos utilizar follwing css como solución alternativa.

{ 
    visibility:hidden 
    width:0px; 
    height:0px 
} 
+0

Me encontré con problemas en los que imprimiría 5 páginas negras porque el cuerpo simplemente estaba oculto. Establecer altura en 0 funcionó perfectamente! – Auzy

Cuestiones relacionadas