Bert Bos | CSS pour des livres (numériques)
Pour voir : mode plein écran (F11)
(Avec Javascript : touche A)
Statue de
Gutenberg à Strasbourg (photo de AlteRimoldi)
Presenté à : Kiwi Party 2013
Ville : Strasbourg, France
Date : 28 juin 2013
Ce demo montre une fonctionalité prevue pour CSS, mais les propriétés et mots clés exacts sont encore en discussion. Ce demo utilise une implementation experimentale dans Opera 12 (« Scroll is Pan »).
De plus en plus de livres sont faits avec CSS
Les lecteurs de livres numériques utilisent CSS
On peut enfin imprimer une page d'HTML ?
Les navigateurs traditionnels, hors Opera, ne sont pas faits pour cette mode de lecture. Imprimer un document depuis un navigateur ne donne pas des résultats très convaincants. Mais les mondes ne sont pas si séparés que ça non plus : Opera implémente une propriété CSS en développement qui permet d'afficher un document (ou un élément) en mode livre. Et plusieurs fabricants de lecteurs de livres ont pu ajouter les fonctionnalités requises à Webkit.
Avant ±2010…
→ CSS peu développé pour des documents imprimés ou des livres numériques
Maintenant :
Ces transparents ont deux feuilles de style :
projection
et screen
Media (@media
):
print
embossed
screen
(navigateurs, lecteurs e-books)
handheld
projection
paginé par défaut
tv
* = Open Source
Cette liste montre quelques logiciels et terminaux qui utilisent CSS pour mettre en page des documents sur plusieurs pages, comme dans un livre.
Opera Reader n'est pas une version d'Opera, mais c'est le nom donné a cette fonctionalité d'Opera de montrer un document, ou un élément, sur plusieurs pages, comme un lecteur de livres numeriques. Une option permet à l'utilisateur d'associer un geste du doigt ou de la souris à l'action de tourner une page (en plus des touches du clavier).
columns
Deux façons:
columns : 2
columns : 20em
(Aussi sur écran, mais moins utile)
page-break-*
Nouveaux noms : break-before, break-after,
break-inside
page-break-before, page-break-after,
page-break-inside
H2 { break-after: avoid }
widows/orphans
P { widows: 2; orphans: 2 }
« 2 » est la valeur par défaut
@page
@page { margin: 2cm 1.5cm 2.5cm 1.5cm }
@page { margin-top: 2cm; margin-right: 1.5cm; margin-bottom: 2.5cm; margin-left: 1.5cm }
(Aussi en media = projection)
@page :left { margin: 2cm 2.5cm 2.5cm 1.5cm } @page :right { margin: 2cm 1.5cm 2.5cm 2.5cm } @page :first { ... }
@page { @page-bottom { content: counter(page) } }
« page » est defini par CSS
@page-top
etc.@page:right { @top { content: string(chapter); font-style: italic } @bottom-right { content: counter(page, lower-roman) } } h2 { string-set: chapter contents; page-break-before: right }
hyphens
Module css3-text
hyphens : none
: hyphens : manual
: ­
), U+2010, U+002D (-)
hyphens : auto
: (En anglais : « running headers »
@page { @page-top-right { content: string(chap, first); font-style: italic; } } h1 { string-set: chap content }
… and <ruby><rb>the March Hare and the
Hatter</rb ><rt><rp> (</rp>From the two expressions “as mad as a
march hare” and “as mad as a hatter.”<rp>)</rp></rt ></ruby> were having
tea…
ou:
… and <a
href="#n1">the March Hare and the Hatter</a > were having tea…
<p id=n1>From
the two expressions “as mad as a march hare” and “as mad as a
hatter.”
Des experimentations existent
… mais pas assez pour remplacer XSL-FO
3eme atelier sur l'édition numérique : « W3C Workshop on workflow in publishing, » Paris, 16–17 sep 2013
CSS dit que overflow : scroll
donne « a
scrolling mechanism »
… un ascenseur en est un,
… « marquee » aussi
… mais la pagination aussi !
overflow
<div class=chapter> <h2>Chapter 1…</h2> <p>… … </div> <div class=chapter> <h2>Chapter 2…</h2> … </div> …
horizontal | vertical | |
---|---|---|
invisible | paged-x
| paged-y
|
visible | paged-x-controls
| paged-y-controls
|
Gauche/droite ou droite/gauche dépend de
direction
http://www.w3.org/Talks/2013/0628-CSS-Strasbourg
To Lead the Web to its full potential
To Anticipate the Trends
To Increase your company value
Join W3C
http://www.w3.org/Consortium/join
or contact: Bernard Gidon <bgidon@w3.org>
Pour Développer le potentiel du Web
Pour Anticiper les évolutions technologiques
Pour Augmenter la valeur et visibilité de votre organisation
Rejoigner le W3C
http://www.w3.org/Consortium/join
ou contacter : Bernard Gidon <bgidon@w3.org>
Bert Bos <bert@w3.org>
GPG
fingerprint: 7744 0204 52A5 14D9 147D
2A13 2D7A E420
184B 5BA4
Gutenberg a habité longtemps ici, à Strasbourg. Regardons donc un peu si CSS permet déjà aux editeurs du Web d'être ses dignes successeurs…
HTML a été fait pour être independent des terminaux et de la mode de lecture : sur papier, sur écran, en synthèse vocale, en braille, sur un téléviseur… Et CSS aussi était prévu pour créer des styles pour chacun de ces « médias. » CSS a effectivement des propriétés pour la synthèse vocale, et quelques-uns pour des pages imprimés. Mais pour imprimés avec la même mise en page et la même qualité que Gutenberg au XVe siècle, il manque encore des fonctionalités.
Et pourtant les grands éditeurs utilisent de plus en plus CSS pour imprimés des livres. Et l'IDPF, l'organisation derrière la norme EPUB, aussi a choisi CSS pour la mise en pages des livres, des livres numériques (ou « e-books ») dans ce cas.
En fait, ils le font avec des fonctionalités encore en developpement, qui sont implementées expérimentalement.