Créer de belles listes ordonnées en HTML et CSS

Aujourd'hui je vais vous montrer comment rendre encore plus agréable à l'oeil vos listes HTML !

Ce tutoriel n'a pas de but particulier à part celui de faire plaisir à vos visiteurs lorsqu'ils tomberont sur vos listes trop fashion ^^ ! De plus il est extrêmement simple à mettre en œuvre. 😉

Le principe

Une liste ordonnée est difficile à personnaliser parce qu'on a pas directement accès à l'habillage des numéros. Du coup pour les personnaliser, on doit appliquer le style sur la liste dans son entièreté ! Ce qui n'est pas vraiment pratique si l'on ne désire pas changer le style du reste du texte.
Donc la technique consiste à englober le contenu de chaque élément "li" dans une autre balise, comme ça nous pourrons annuler les effets css appliquer sur le liste uniquement pour le contenu "texte" !

Voir la démo ....

1er exemple

Code html:

<ol class="test1">
        <li><strong>Premier élément de la liste</strong></li>
        <li><strong>Deuxième élément de la liste</strong></li>
        <li><strong>Troisième élément de la liste</strong></li>
        <li><strong>Quatrième élément de la liste</strong></li>
        <li><strong>Cinquième élément de la liste</strong></li>
</ol>

Style CSS:

ol.test1{
        font: italic bold 20px Georgia, Times, serif;
        color: #999;
        border: 1px dotted #999;
        background-color: #eee;
        padding-bottom: 10px;
        padding-top: 5px;
}
ol.test1 strong{
        font: bold 14px Arial,Helvetica,sans-serif;
        color: #666;
}

2ème exemple

Code html:

<ol class="test2">
        <li><a href="#">Premier élément de la liste</a></li>
        <li><a href="#">Deuxième élément de la liste</a></li>
        <li><a href="#">Troisième élément de la liste</a></li>
        <li><a href="#">Quatrième élément de la liste</a></li>
        <li><a href="#">Cinquième élément de la liste</a></li>
</ol>

Style CSS:

ol.test2{
        font: italic 18px Georgia, Times, serif;
        color: red;
}
ol.test2 a{
        font: normal 12px Verdana;
        color: #666;
        text-decoration: none;
        border-left: 1px dotted #999;
        border-bottom: 1px dotted #999;
        padding: 0 0 3px 2px;
}
ol.test2 a:hover{
        font-weight: bold;
        color: red;
        border: 1px solid red;
        border-right: none;
}

3ème exemple

Code html:

<ol class="test3">
        <li><span><strong><a href="#">Premier élément de la liste</a></strong><br/><em>Petite description de l'élement ...</em></span></li>
        <li><span><strong><a href="#">Deuxième élément de la liste</a></strong><br/><em>Petite description de l'élement ...</em></span></li>
        <li><span><strong><a href="#">Troisième élément de la liste</a></strong><br/><em>Petite description de l'élement ...</em></span></li>
        <li><span><strong><a href="#">Quatrième élément de la liste</a></strong><br/><em>Petite description de l'élement ...</em></span></li>
        <li><span><strong><a href="#">Cinquième élément de la liste</a></strong><br/><em>Petite description de l'élement ...</em></span></li>
</ol>

Style CSS:

ol.test3 {
        font: italic 18px Georgia, Times, serif;
        color: #555555;
}
ol.test3 li:hover{
        background-color: #eeeeee;
}
ol.test3 span strong a{
        font: bold 0.8em Georgia, Times, serif;
        text-decoration: none;
        border-bottom: 1px dotted #999;
        color: #224970;
}
ol.test3 span em{
        font: italic 0.7em Arial, Helvetica, sans-serif;
        color: #555555;
}
ol.test3 span em strong a{
        font: italic 1em Arial, Helvetica, sans-serif;
}

4ème exemple

Code html:

<ol class="test4">
        <li><span>Premier élément de la liste</span></li>
        <li><span>Deuxième élément de la liste</span></li>
        <li><span>Troisième élément de la liste</span></li>
        <li><span>Quatrième élément de la liste</span></li>
        <li><span>Cinquième élément de la liste</span></li>
</ol>

Style CSS:

ol.test4{
        padding-bottom: 10px;
        padding-top: 8px;
        background-color: #224970;
        font: italic 18px Georgia, Times, serif;
        color: #eeeeee;
        border: 1px solid white;
}
ol.test4 span{
        font: italic 12px Verdana;
        color: white;
        border-top: 1px solid #aaaaaa;
        padding-top: 2px;
}

Le 3ème exemple est celui que j'utilise pour mes brève de liens 😉

Conclusions

Vraiment de rien sorcier, à vous de trouver votre style 😉

-----

Articles relatifs

  • Mr.MoOx

    Sympa, bien vu.
    C’est simple mais fallait y penser!
    Pas contre je dirais attention à l’utilisation des balises « strong » et « em » qui sont importantes pour le référencement… donc ne pas en abuser, et les utiliser au moment adéquat.
    Si c’est juste pour mettre en gras, mieux vaut utiliser les propriétés css uniquement 🙂

  • k-ny

    Tout à fait Mr Moox ! Dans ce cas ci, pour ne pas donner de poids supplémentaire au contenu des balises « li », on utilisera « span », enfin le problème ne se pose pas si votre liste ne contient que des liens 🙂

  • Lepop

    Pour le 3eme exemple on peut aussi utiliser les balises ect …

  • Superbe, bravo.

    Toutefois, attention, petit débordement lors du survol sur Safari.

    Bien à vous.

  • alex

    Si vous avez une liste qui se poursuit sur plusieurs pages, il y a l’attribut start :
    pour une liste qui commence au chiffre 10.
    😉

  • Bon article avec les remarques de Mr Moox sur l’utilisation du strong.

    Les listes ont encore de beaux jours devant elles avec en plus l’apparition des nouveaux sélecteurs CSS 3.
    tr:nth-child(2n+1) /* correspond aux lignes paires */
    tr:nth-child(odd) /* pareil */

    Le site de « bonne pratiques et référencement à Marseille Kiwano », propose également une approche du CSS pour afficher des listes sous forme de tableaux simples.
    http://www.kiwano.fr/afficher-une-liste-html-sous-forme-de-tableau-par-css/

  • v2j

    Merci beaucoup pour le tuto.

    Merci marseille pour le lien.