Aucune des solutions proposées sur cette page ne fonctionne correctement et universellement pour tous les niveaux et les longs paragraphes (enveloppés). Il est vraiment difficile d'obtenir une indentation cohérente en raison de la taille variable des marqueurs (1., 1.2, 1.10, 1.10.5, ) ; elle ne peut pas être simplement "simulée", même pas avec une marge/un renfort précalculé pour chaque niveau d'indentation possible.
J'ai finalement trouvé une solution qui fonctionne réellement et ne nécessite pas de JavaScript.
Il a été testé sur Firefox 32, Chromium 37, IE 9 et Android Browser. Ne fonctionne pas sur IE 7 et antérieur.
CSS:
ol {
list-style-type: none;
counter-reset: item;
margin: 0;
padding: 0;
}
ol > li {
display: table;
counter-increment: item;
margin-bottom: 0.6em;
}
ol > li:before {
content: counters(item, ".") ". ";
display: table-cell;
padding-right: 0.6em;
}
li ol > li {
margin: 0;
}
li ol > li:before {
content: counters(item, ".") " ";
}
Exemple :
Essayez-le JSFiddle et de la fourchette. Gist .
2 votes
Je vous suggère de comparer la réponse acceptée avec celle de Jakub Jirutka. Je pense que cette dernière est même bien meilleure.
0 votes
Solution élégante. Une idée de la raison pour laquelle Wikipedia utilise un ul pour ses sections de contenu au lieu de cette solution ?
1 votes
@davnicwil Je suis d'accord ; il semble que j'ai probablement appliqué le duplicata dans le mauvais ordre en septembre.
0 votes
Cool, maintenant je me sens mal à l'aise car je n'avais jamais pensé qu'il pouvait s'agir d'une simple erreur comme celle-là - toutes mes excuses !