L’objectif était de réduire au maximum le balisage, donc de ne pas utiliser les artifices .first et .last que l’on trouve ailleurs. Merci de vous donner vos impressions.
Merci à Heyoan et à GC-nomade pour le coup de main.
Quelques remarques :
- Le B du premier bonjour est légèrement décalé sur la droite. J’ignore pourquoi, c’est peut-être lié au caractère.
- J’ai rajouté la localisation, donc vous pouvez intégrer les règles de ponctuation de différentes langues dans votre CSS
- Les espaces de séparation du premier niveau de guillemets sont des espaces fines insécables (
&202f;nommée espaces étroites insécable par Unicode), conformément à la typographie française soignée. Á ne pas confondre avec l’espace insécable () ou l’espace fine sécable (). - Initialement, la page était en XHTML 1.1, mais comme je ne sais pas intégrer
xml:langdans les CSS, j’ai dû me rabattre sur XHTML 1.0. Et finalement, je l’ai passé en HTML5
. - Même si dans cet exemple ça ne sert à rien, j’ai isolé la discussion avec un
ID(#dialogue), car dans la vraie vie, vous ne voudrez pas que toutes vos listes à puce se comportent comme des discussions
Voyez le résultat sur une page extérieure.
Et ci-dessous le code.
<!-- 'HTML-style' HTML5 -->
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Dialogue de Q</title>
<style type="text/css">
#dialogue {list-style:none}
#dialogue q:lang(fr) {quotes : '«\202F' '\202F»' "“" "”" "‘" "’"}
#dialogue li:first-child q:before {content:open-quote}
#dialogue li:first-child q:after {content:no-close-quote}
#dialogue li q:before {content:no-open-quote'\2012';padding-right:0.5em}
#dialogue li q:after {content:no-close-quote}
#dialogue li:last-child q:after {content:close-quote}
</style>
</head>
<body>
<ul id="dialogue">
<li><q>Bonjour, comment allez-vous ?</q></li>
<li><q>Bonjour. Très bien, et vous ?</q></li>
<li><q>Très bien, merci.</q></li>
</ul>
</body>
</html>