La solution list-style-image
Cette technique fonctionne avec les navigateurs modernes : MSIE 5 et +, Netscape 6 et +, Mozilla 1, Opéra 5 et +, etc. (Les navigateurs plus anciens affichant une liste à puce classique à la place de la liste personnalisée). Elle utilise les attributs CSS
color
, display
, font-family
, font-size
et list-style-image
.
Source CSS
À placer dans une feuille de style externe ou dans l'en-tête de la page (X)HTML entre des balises <style type="text/css"></style>
:
li { font-family: Verdana, Arial, Helvetica, Geneva, sans-serif; font-size: 100%; color: black; display: list-item; list-style-image: url(puce.png); }
Source (X)HTML
<ul> <li>item 1</li> <li>item 2</li> <li>item 3</li> </ul>
Résultat
Testez le résultat dans votre navigateur.
La solution background-image
L'inconvénient de la méthode précédemment décrite est que les images choisies comme puces ne sont pas forcement alignées avec le texte.
Pour résoudre ce problème, Samuel Latchman prescrit de mettre ces images en fond (background-image:horizontal vertical
) et d'ajuster la position à l'aide de l'attribut background-position
et d'un padding-left
pour que l'image ne se superpose pas au texte. Il faut aussi désactiver les puces par défaut à l'aide de list-style-type:none;
.
Source CSS
À placer dans une feuille de style externe ou dans l'en-tête de la page (X)HTML entre des balises <style type="text/css"></style>
:
li { font-family: Verdana, Arial, Helvetica, Geneva, sans-serif; font-size: 100%; color: black; list-style-type: none; background-image: url(puce.png); background-repeat: no-repeat; background-position: 0% 65%; padding-left: 15px; }
La partie de ce code concernant le background
peut par ailleurs être optimisé de la façon suivante :
background: url(puce.png) no-repeat 0% 65%
Les positions background-position:0% 65%;
et padding-left:15px;
sont évidemment à modifier selon l'image utilisée.
Résultat
Testez le résultat dans votre navigateur.
Cette solution sympathique présente elle aussi, hélas, deux inconvénients :
- La désactivation des puces par défaut pose des problèmes d'accessibilité ;
- Si l'item fait plus d'une ligne, l'alignement vertical de l'image se fera sur la hauteur totale de l'item, et ne sera donc pas aligné avec la première ligne. Pour éviter ce désagrément, on peut utiliser l'unité
em
au lieu des%
.
Vos commentaires
# samuel biron Le 26 octobre 2014 à 18:20
Merci beaucoup pour votre tutoriel car je suis vais mettre des image dans mon .
Très bonne articles je vous remerci :-)
pour l’instant j’utilise wordpress comme electricien paris mais je me remets a taper du code html5 et css3.
Vos commentaires
Suivre les commentaires : |