CSS Page-Break, Orphans & Widows, versión XHTML friendly para impresión

Una de las partes del proyecto en el que ando liado actualmente requiere crear documentos dinámicamente a partir de una BBDD, pintarlos en HTML y exportarlos a PDF o Word.

El principal problema con el que nos encontramos a la hora de desarrollar la idea es cómo hacer que el contenido no quede cortado entre página y página. Una fórmula es crear una plantilla con varios contenedores con un tamaño determinado, de forma que cada contenedor quepa sin problemas en un A4 (o el tamaño del documento deseado) y la información no quede fraccionada.

Otro método mucho más sencillo y limpio de usar es con CSS. Existen varias clases que nos permiten establecer cuándo debe producirse un salto de página y cómo deben tratarse los párrafos para evitar que queden huérfanos o viudos.

CSS Page-break-[after, before, inside]

Al asignar una de estas clases a cualquier elemento de una página forzará el salto de página. Por ejemplo, si no queremos que ninguna tabla quede cortada, podemos definir que para todas las tablas del documento se produzca un salto de página antes de pintarlas (table { page-break-before:always } ).  Pueden tener varios valores:  auto (sólo si es necesario), always, avoid, left y right.

  • Page-break-after: después de un elemento se fuerza el salto de página.
  • Page-break-before: antes de un elemento se fuerza el salto de página.
  • Page-break-inside: dentro de un elemento se fuerza el salto de página. La W3C recomienda no abusar de esta clase y evitar utilizarla dentro de contenedores como tablas o divs.

CSS Orphans & Widows

Los términos Orphans (huérfano) y Widows (viudo) se utilizan cuando un párrafo se ha cortado al producirse un salto de página, cambio de columna o se ha insertado una imagen de por medio y el texto del párrafo ha quedado fraccionado en dos partes, quedando una de ellas con una sóla línea. Normalmente lo ideal es que si nos vemos forzados a cortar un párrafo por la mitad es dejar al menos dos líneas como mínimo en cada sitio.

  • Orphans: permite espeficar el número de líneas que debe mantener un párrafo al final de la página.
  • Widows: permite espeficiar el número de líneas en la parte superior de la página.

Más información

Page-break-before | http://www.w3schools.com/css/pr_print_pagebb.asp
Page-break-before | http://www.w3schools.com/css/pr_print_pageba.asp
Page-break-inside | http://www.w3schools.com/css/pr_print_pagebi.asp
Orphans | http://webdesign.about.com/blsporphans.htm
Widows | http://webdesign.about.com/blspwidows.htm

Etiquetas:,

Compártelo
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Bitacoras.com
  • Identi.ca
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • Ping.fm
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter
  • email
  • PDF
  • Print

Suscríbete a nuestro Feed para recibir las últimas novedades de diseño web, diseño gráfico y programación

Entradas relacionadas:

Entradas relacionadas en el blog de N4gash8 Plugins para mejorar el SEO de entradas en WordPress
Entradas relacionadas en el blog de N4gashCómo hacer el efecto Page Peel; incluye un banner original en tu web de forma gratuita
Entradas relacionadas en el blog de N4gashCompleto manual online de XHTML
Entradas relacionadas en el blog de N4gashBasekit, de photoshop a XHTML en un solo click
Entradas relacionadas en el blog de N4gashDiseño web en Photoshop y XHTML+CSS en un video de dos minutos

Dejanos tu Comentario

Nombre:

E-Mail:

Sitio WEB:

Comentario: