Por qué tu EPUB 3 elimina propiedades CSS modernas (y cómo evitar que tu diseño se rompa)
Estás trabajando con un EPUB 3, usas CSS moderno como margin-block-start o padding-inline-end, todo se ve perfecto en tu navegador… y de pronto el conversor o validador te suelta esto:
Removing declaration (Bad property: margin-block-end)
Removing declaration (Bad property: padding-inline-start)
Y tú pensando: “¿Pero no se supone que EPUB 3 soporta CSS moderno?”
Sí… pero también no. Vamos a verlo.
EPUB 3 permite CSS moderno… pero eso no significa que todos los lectores lo soporten
La especificación de EPUB 3 es bastante flexible y permite usar muchas características modernas de CSS. Entre ellas están las CSS Logical Properties, como:
margin-block-startmargin-block-endpadding-inline-startpadding-inline-end
Estas propiedades son geniales porque hacen que el diseño se adapte automáticamente a idiomas que se leen de derecha a izquierda (árabe, hebreo) o incluso en vertical.
El problema es que muchos motores de lectura de EPUB (reading systems) no están a la altura de la especificación.
Muchos lectores todavía usan motores antiguos como:
- Versiones viejas de WebKit
- Adobe RMSDK
- Motores personalizados de Kindle, Kobo, etc.
Estos motores no entienden las propiedades lógicas modernas, aunque el archivo sea EPUB 3 válido.
Entonces… ¿por qué el conversor elimina esas propiedades?
El famoso mensaje:
Removing declaration (Bad property: margin-block-end)
no viene del EPUB en sí, sino de una herramienta que está analizando y limpiando tu CSS.
Esa herramienta puede ser:
- El propio conversor (Calibre, Jutoh, Kindle Previewer, etc.)
- Un paso interno del pipeline de conversión
- Un validador como epubcheck (directa o indirectamente)
Lo que hacen es aplicar una especie de “lista blanca” de propiedades CSS seguras.
Si encuentran algo que consideran poco compatible con lectores antiguos, lo eliminan para evitar que el libro se rompa en ciertos dispositivos.
Desde su punto de vista, te están “protegiendo”.
Desde el tuyo… te están destrozando el diseño
La solución práctica: usar fallbacks físicos + propiedades lógicas
La forma más segura de trabajar hoy en día es no confiar solo en las propiedades lógicas.
Debes añadir primero las propiedades clásicas (físicas) y luego las modernas:
/* Fallback para lectores antiguos */
margin-top: 0;
margin-bottom: 0;
padding-left: 0;
padding-right: 0;
/* Propiedades lógicas modernas */
margin-block-start: 0;
margin-block-end: 0;
padding-inline-start: 0;
padding-inline-end: 0;
¿Por qué en ese orden?
Porque en CSS, lo último que se declara gana (si tiene la misma especificidad).
- Lectores antiguos → ignoran las propiedades lógicas y usan
margin-top,padding-left, etc. - Lectores modernos → sí entienden las lógicas y esas sobreescriben a las físicas.
Así, aunque el conversor elimine las propiedades lógicas, el diseño no se rompe.
Cómo diagnosticar el problema en tu EPUB
Si te aparece ese mensaje, haz esto:
Revisa el log del conversor
Busca exactamente qué herramienta está mostrando:
Removing declaration (Bad property…)
Eso te dirá si viene del conversor, de un validador o de otro paso intermedio.
Abre el EPUB y revisa el CSS final
Un EPUB es un ZIP disfrazado:
- Cambia
.epub→.zip - Descomprímelo
- Abre la carpeta
OEBPSoEPUB - Revisa los archivos
.css
O más fácil: ábrelo con Sigil o con Calibre (Editar libro).
Mira si las propiedades como margin-block-start siguen ahí… o ya desaparecieron.
Si el conversor las elimina
Entonces añade los fallbacks físicos en tu CSS original antes de convertir, y vuelve a generar el EPUB.
Valida con epubcheck
Así confirmas que el EPUB es formalmente correcto y detectas otros problemas potenciales.
Ojo si publicas en tiendas
Apple Books, Kindle, Kobo, etc. a veces reprocesan tu EPUB y aplican sus propias reglas de compatibilidad.
Aunque tu EPUB sea válido, la tienda puede modificar cosas internamente.
¿Significa esto que no debo usar propiedades lógicas?
No necesariamente.
Si tu libro necesita:
- Soporte para idiomas RTL (árabe, hebreo)
- Escritura vertical
- Diseños internacionales más complejos
Las propiedades lógicas son muy útiles.
Pero en EPUB, compatibilidad manda. Así que la regla de oro es:
Usa propiedades lógicas, pero siempre con fallbacks físicos.
Y prueba tu libro en lectores reales:
- Kindle Previewer
- Apple Books
- Adobe Digital Editions
- Kobo, etc.

