Listes à puces en image

| Pascale Lambert | Kerod |

Des listes à puces avec des images sont plus attrayantes que les styles donnés par défaut (disc, circle, square). Pour cela, inutile d'incorporer une image à chaque item dans le code (X)HTML. Il y a beaucoup plus simple !

Grâce aux CSS, on peut automatiser facilement la mise en image des listes à puces.

N'hésitez pas à nous faire part de votre avis sur cet article : Commentez

- Titre : Listes à puces en image

- Auteurs : Pascale Lambert, Kerod

- Parution : 13 juillet 2010

- Mise à jour : 24 novembre 2010

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 13/07/2010 Pascale Lambert. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Première technique : version classique

- I-A. Code (X)HTML

- I-B. Code CSS

- II. Deuxième technique : variante Made-in Sam

- II-A. Code CSS

I - Première technique : version classique

Fonctionne avec :

- Tous les navigateurs graphiques.

Attributs utilisés :

- color ;

- display ;

- font-family ; font-size ;

- list-style-image ; list-style-position.

I-A - Code (X)HTML

Le code pour faire une liste à puces se décline de la façon suivante :

- Les balises <ul></ul> pour déclarer la liste à puces ;

- Les balises <li></li> qui s'insèrent dans les précédentes pour chaque item.

<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>

I-B - Code CSS

Indiquez dans votre feuille de style externe le code suivant :

li {
font-family: Arial, sans-serif;
font-size: 100%;
color: black;
display : list-item;
list-style-image : url(puce.gif);
}

- font-family, font-size et color stylent la police de caractère utilisée. Ces propriétés ne sont pas nécessaires si elles ont déjà été déclarées dans un élément parent (le body par exemple) ;

- display:list-item est nécessaire pour faire comprendre au navigateur les list-style-... ;

- list-style-image permet évidemment de déclarer l'image à utiliser comme puce.

Voir le résultat !

II - Deuxième technique : variante Made-in Sam

Fonctionne avec :

- Tous les navigateurs graphiques.

Attributs utilisés :

- background-image ; background-repeat ; background-position ;

- color ;

- display ;

- font-family ; font-size ;

- list-style-type ;

- padding.

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, et pire tous les navigateurs ne positionnent pas ces puces de la même façon...

Pour palier à ce problème, Docteur Sam prescrit de mettre ces images en fond (background-image:url()), d'ajuster la position de l'image par rapport au texte à l'aide de l'attribut background-position:vertical |horizontal et d'un petit padding-left pour que l'image ne se superpose pas au texte.

II-A - Code CSS

li {
font-family: Arial, sans-serif;
font-size: 100%;
color: black;
list-style-type: none;
background-image: url(puce.gif);
background-repeat: no-repeat;
background-position: 0 0.32em;
padding-left: 15px;
}

Astuce : Afin d'optimiser le code, les trois déclarations de background-... peuvent être synthétisées de la façon suivante :

background: url(puce.gif) no-repeat 0 0.32em;

Voir le résultat !

La potion du Docteur Sam : c'est de la bonne, buvez-en.