Qualche tempo fa ho comperato un ebook di una grossa casa editrice, talmente grossa che nei CSS aveva messo il copyright. L’ebook era bello, nessun refuso e l’ho letto con piacere, ma per leggerlo ho dovuto togliere i DRM e cambiare i CCS. Perché i CSS, avranno anche avuto il copyright, ma erano sbagliati.
La regola in questione era:

body {margin:5%}

Cosa significa questa regola?
body sta a significare corpo ed è l’elemento che contiene tutto il testo di un file che compone il ilbro. Se ad esempio parliamo di un romanzo, body conterrà tutto il testo di un capitolo: il titolo, sottotitolo, e tutti i paragrafi.
margin:5% significa, nella testa di chi lo ha scritto, ehi amico computer, tutto intorno alle pagine del capitolo mettici un 5% di margine in modo che il testo non vada a sbattere contro il bordo dello schermo. 5% di cosa? Della pagina stessa: così il margine varierà in proporzione allo schermo usato da chi legge e non risulterà mai troppo stretto o troppo largo.
Un nobile intento. Però non funziona.
Che succede nella realtà?
Succede che l’elemento body che contiene tutto il capitolo, negli ebook, è spezzato in pagine. Non so se ci avete fatto caso, ma negli ebook si gira pagina. Ma anche se l’elemento body è spezzato in pagine, queste pagine non esistono[1]. A livello di logica, l’elemento body è come un serpentone di testo che inizia nella prima pagina, scorre nella seconda, nella terza e così via fino all’ultima pagina.
Questo cosa significa? Che il margine applicato intorno all’elemento body è applicato effettivamente attorno all’elemento body e non alle singole pagine in cui è, incidentalmente, spezzato.
In pratica: a destra e sinistra avremo effettivamente un margine del 5%, ma il margine superiore e inferiore apparirà solo in testa e in coda di body, ovvero nella prima e nell’ultima pagina del capitolo. Tutte le pagine intermedie tra la prima e l’ultima non avranno nessun margine superiore e inferiore e il testo andrà a sbattere contro il bordo dello schermo.
Verrebbe da chiedersi: ma non l’hanno aperto l’ebook per vedere se funzionava? Magari no, o magari l’hanno aperto solo con iPad che mette un bordo supplettivo attorno al testo rendendo difficile trovare errori di questo tipo.
La morale? Per fare gli ebook è necessario conoscere bene gli elementi da cui è composto, e i CSS dovrebbero essere cose interessanti da studiare e da cui prendere idee, non file da criptare dietro a un DRM.

[1] In realtà esiste il selettore @page per gestire queste “pagine” virtuali. Ma il supporto è – per molti aspetti – rudimentale.

Advertisements