Editorial Craft Bible
Fondos de color y dark mode en PDF
Inicio Paginación HTML/CSS → PDF Fondos de color y dark mode en PDF
Paginación HTML/CSS → PDF

Fondos de color y dark mode en PDF

12 reglas MDN CSS print-color-adjust · W3C CSS Paged Media · excessivelyadequate.comMDN CSS print-color-adjust · CSS-Tricks almanac · Chromium issue trackerW3C CSS Paged Media · Paged.js docsMDN CSS fragmentation · W3C CSS Fragmentation
18

Fondos de color y dark mode en PDF

12 reglas
188

Pon @page{margin:0} para fondos de color a borde

Con fondo de color, Chrome conserva el margen de papel por defecto e imprime MARGENES DE PAPEL BLANCOS alrededor de tu hoja oscura, aunque el body sea oscuro. Anula el margen de la hoja y lleva la zona segura del texto a un contenedor interno como padding: .doc{padding:15mm 16mm}.

@page { margin: 0 }
.doc { padding: 15mm 16mm } /* zona segura del texto */
Evitar
fondo
El margen @page por defecto deja un filo de papel blanco enmarcando la hoja oscura.
Correcto
texto (padding 15mm)
margin:0 llena toda la hoja; el padding de .doc sostiene la zona segura del texto.
MDN CSS print-color-adjust · W3C CSS Paged Media · excessivelyadequate.com
189

Declara print-color-adjust:exact o el fondo desaparece

Todos los navegadores DESCARTAN fondos de color e imagenes al imprimir para ahorrar tinta. Sin print-color-adjust:exact tu lienzo oscuro sale blanco. Declaralo en el elemento hoja y conserva el prefijo -webkit- para Safari (Chromium lo dejo en la v98, Safari aun lo necesita).

html {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
Evitar
Titulo el fondo se cayo al imprimir
Sin print-color-adjust: el motor tira el fondo oscuro al exportar.
Correcto
Titulo fondo preservado
exact le dice al motor que los colores son intencionales y deben imprimirse.
MDN CSS print-color-adjust · CSS-Tricks almanac · Chromium issue tracker
190

El fondo va en el elemento que llena la hoja

El fondo oscuro debe vivir en el elemento que abarca toda la hoja: html, body o un .doc de alto completo, no en un wrapper interno pequeno. Un fondo en un div interno corto solo pinta donde hay contenido y deja huecos claros debajo y en los saltos de pagina.

html, body { background: #12181f }
.doc { min-height: 100%; padding: 15mm 16mm }
Evitar
bloque solo pinta aqui
Fondo en un div interno: el blanco asoma debajo y en el salto.
Correcto
bloque la hoja entera es oscura
Fondo en el elemento hoja: cubre de borde a borde sin huecos.
W3C CSS Paged Media · Paged.js docs
191

Fluir, no forzar una pagina por seccion

Forzar un salto de pagina por seccion en un documento oscuro deja huecos vacios enormes (oscuros o blancos) al pie de cada pagina corta. Deja fluir el contenido y controla solo donde importa con break-inside:avoid y break-after:avoid. Reserva break-before:page para arranques de seccion reales.

/* fluir, no encajonar */
.card { break-inside: avoid }
h2 { break-after: avoid }
Evitar
seccion A
hueco
seccion B
Una pagina forzada por seccion: huecos vacios enormes al pie.
Correcto
seccion A
seccion B
El contenido fluye continuo; los saltos caen solo donde se declaran.
MDN CSS fragmentation · W3C CSS Fragmentation
192

Dark de pantalla: contraste AA, texto blanco, hairlines tenues

Para PDFs oscuros de pantalla (que nunca se imprimen), manten el contraste del texto en WCAG AA (4.5:1 cuerpo, 3:1 grande). Usa blanco #FFF o un blanco atenuado, nunca texto negro puro (invisible), ni el gris mas oscuro sobre casi-negro. Dibuja los divisores como hairlines de blanco a baja opacidad, cerca de rgba(255,255,255,.10).

Evitar
Titulo casi invisible cuerpo en negro sobre oscuro
Texto negro sobre fondo oscuro reprueba AA y se lee como bloque vacio.
Correcto
Titulo legible cuerpo en blanco atenuado
Blanco + blanco atenuado pasan AA; hairline .10 separa sin ruido.
WCAG 2.2 SC 1.4.3 · Refactoring UI (dark UI)
193

Sin imagenes con halo blanco sobre lienzo oscuro

Un logo o icono exportado como JPEG arrastra una caja blanca que se vuelve un halo feo sobre fondo oscuro. Usa un PNG (o SVG) con transparencia real, o recorta el fondo. Revisa los bordes al 100 por ciento; los filos con antialias aun brillan sobre oscuro.

Evitar
JPEG con caja blanca horneada: un halo brillante enmarca la marca.
Correcto
PNG/SVG transparente se posa directo sobre el lienzo oscuro, sin caja.
Adobe: PNG transparency · W3C PNG spec
194

Dark impreso: advierte del TAC, costo de toner y secado

Un fondo oscuro a pagina completa que de verdad va a prensa es caro y riesgoso. Un negro rico puede empujar el TAC muy por encima del limite del papel (cerca de 300 por ciento en couche, 240 por ciento en papel prensa), asi que no seca, repinta y mancha. Usa una receta de negro rico controlada, no cuatro tintas al maximo, y confirma el TAC con la imprenta. Ver la seccion de negro.

Negro rico controlado (fondo): C60 M40 Y40 K100 → TAC 240%
Evitar: C100 M100 Y100 K100 → TAC 400% (no seca)
Ghent Workgroup specs · FOGRA39/51 TAC limits · Adobe print production
195

Imprime en light por defecto; dark solo si lo piden

Regla de criterio: para cualquier cosa que se vaya a imprimir fisicamente, usa fondo claro por defecto. Los fondos oscuros a pagina completa cuestan toner y tinta, secan lento, y rara vez leen mejor en papel. Reserva el dark para PDFs de pantalla, o para prensa solo cuando el usuario lo pide explicito y acepta el costo.

Criterio editorial · cross-ref: negro, optimizacion
196

Portada dark full-bleed con min-height y break-after

Para que una portada oscura llene la primera hoja completa, dale alto suficiente para llegar al pie y fuerza un salto despues. En Carta con @page{margin:0} y padding 15mm, usa .cover{min-height:245mm;break-after:page} (aprox 279mm de hoja menos tolerancias). El fondo vive en .cover para que sangre de borde a borde.

.cover {
  min-height: 245mm; /* Carta, padding 15mm */
  break-after: page;
  background: #12181f;
}
Correcto
REPORTE 2026
Titulo de portada subtitulo · autor
min-height llega al pie de la hoja; el fondo sangra a pagina completa.
Evitar
Titulo subtitulo
Sin min-height: la banda oscura solo cubre el contenido, blanco debajo.
W3C CSS Paged Media · MDN break-after
197

Degradados y masas de color a borde tambien necesitan sangrado

Un degradado o masa de color solida que toca el corte necesita el mismo trato que una foto: extiendelo 3mm mas alla del trim hacia el sangrado y conserva print-color-adjust:exact. Un degradado que termina justo en el trim muestra un filo blanco cuando la guillotina varia +-1mm.

Evitar
El degradado se queda antes del trim: aparece filo blanco tras el corte.
Correcto
El degradado corre pasando el trim hacia el sangrado; la zona segura queda dentro.
Ghent Workgroup · Adobe print production · ISO 15930 (PDF/X)
198

Verifica el PDF exportado, no confies en la pantalla

Abre el PDF generado y revisa los cuatro puntos de falla del dark: el fondo llega a cada borde sin filo blanco, no hay huecos vacios oscuros ni blancos, los saltos caen limpios entre bloques, y las fuentes cargaron (sin sustitucion a Times). Esto solo se ve en el PDF paginado, no en la vista continua de pantalla.

Checklist: [ ] bordes full-bleed [ ] sin huecos
[ ] saltos limpios [ ] fuentes embebidas/cargadas
Preflight editorial · cross-ref: recetas, gotchas
199

Dark accesible: manten jerarquia por peso y tamano tambien

En modo oscuro, no dependas solo del color para senalar jerarquia o estado; los colores atenuados se aplanan sobre fondo oscuro y fallan para lectores con baja vision. Manten la jerarquia legible tambien por tamano y peso, igual que en light. Un titulo debe seguir siendo titulo en escala de grises.

Evitar
Titulo por color cuerpo casi igual nota casi igual
Solo un color tenue separa niveles; la jerarquia colapsa en grises.
Correcto
Titulo cuerpo de lectura nota secundaria
Tamano + peso cargan la jerarquia; sobrevive en escala de grises.
WCAG 2.2 SC 1.4.1 · Refactoring UI