List-style-image - Propriété CSS

list-style-image

Résumé des caractéristiques de la propriété list-style-image

Description rapide
Définit une image personnalisée à utiliser à la place des puces, dans le contexte d'une énumération sous forme de liste.
Statut
Standard
S'applique à
Éléments de listes.
Utilisable sur
HTML
Valeurs prédéfinies
none
Pourcentages
Ne s'appliquent pas.
Valeur initiale
none
Héritée par défaut
Oui.
Type d'animation
Discrète : lors d'une animation, la propriété list-style-image passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Listes et compteurs
Références (W3C)
 🡇  
 🡅  
Statut du document: WD (document de travail)

Statut du document: REC (recommandation)

Statut du document: DEPR (Ancienne spécification, déclarée obsolète)

Schéma de la syntaxe de list-style-image.

list-style-image - Syntax DiagramSyntax diagram of the list-style-image CSS property. none none url(urlurl(url) gradient gradientlist-style-image:;list-style-image:;
Schéma syntaxique de la propriété list-style-image.
Syntaxe détaillée< et exemples

Description des termes utilisés sur le schéma :

Description de la propriété list-style-image.

list-style-image remplace les marqueurs ou la numérotation des listes par une image ou par un dégradé de couleurs. Lorsqu'elle est positionnée sur une valeur différente de none, cette propriété rend inopérante la propriété list-style-type.

Veillez à ce que les dimensions de l'image soient compatibles avec la taille des caractères car il ne sera pas possible$ de dimensionner l'image utilisée comme marqueur.

Remarque : list-style-image est sans effet si la propriété content appliquée au pseudo-élément ::marker a la valeur none.

Consultez également la page sur la propriété résumée list-style.

Valeurs pour list-style-image.

  • list-style-image: none;

    La puce ou le numéro sont affichés conformément à la propriété list-style-type.

  • list-style-image: url('chemin/fichier');

    L'image spécifiée par la fonction url() remplace les puces ou les numéros.

  • list-style-image: linear-gradient(...); list-style-image: radial-gradient(...); list-style-image: conic-gradient(...);

    L'image utilisée pour les puces peut être réalisée avec un dégradé. Reportez-vous à la description de ces fonctions pour plus de précisions sur leur syntaxe : linear-gradient(), radial-gradient(), conic-gradient() et les fonctions équivalentes en dégradés répétitifs.

  • list-style-image: initial; (none) list-style-image: inherit; list-style-image: revert; list-style-image: revertLayer; list-style-image: unset;

    Consultez les pages suivantes pour plus de détails : initial, inherit, revert, revert-layer, unset.

Exemples d'utilisation de la propriété list-style-image.

  • Microsoft Edge
  • Mozilla Firefox
  • Google Chrome
  • Opera
  • Safari
  • Microsoft Edge
  • Mozilla Firefox
  • Google Chrome
  • Opera
  • Safari
  • Microsoft Edge
  • Mozilla Firefox
  • Google Chrome
  • Opera
  • Safari

Exemple d'animation de list-style-image.

L'animation de la propriété List-style-image la fait passer de la première valeur à la dernière sans transition, mais plusieurs navigateurs, dont Chrome, appliquent un effet de fondu entre les images.

  • 1996 - La première version de CSS, devient une recommandation du W3C.
  • Mai 1998 - Publication de la recommandation CSS2.
  • Février 2004 - Recommandation de la version CSS2.1, qui sera reprise ensuite pour être republiée en juin 2011.
  • 1999 - CSS devient modulaire, chacun des modules évoluant à son rythme.

Le deuxième exemple montre qu'il est possible d'animer la couleur des marqueurs de façon progressive en utilisant une des fonctions de dégradé. Pour un effet plus spectaculaire, l'animation a été appliquée avec des durées différentes sur chacune des balises li.

  • 1996 - La première version de CSS, devient une recommandation du W3C.
  • Mai 1998 - Publication de la recommandation CSS2.
  • Février 2004 - Recommandation de la version CSS2.1, qui sera reprise ensuite pour être republiée en juin 2011.
  • 1999 - CSS devient modulaire, chacun des modules évoluant à son rythme.

Accéder à la propriété list-style-image par programme.

Modifier la valeur de la propriété list-style-image avec Javascript (ou JQuery) pose un problème particulier : la valeur étant une URL, elle contient probablement des apostrophes ou des guillemets : il faut veiller à ne pas créer de confusion avec le séparateur de chaîne de Javascript qui est aussi le guillemet ou l'apostrophe. Plusieurs solutions existent, nous avons choisi dans ces exemples d'utiliser l'apostrophe en tant que délimiteur pour CSS et le guillemet comme délimiteur Javascript.

Avec Javascript, modifier la valeur de list-style-image.

En Javascript, voici comment modifier la valeur de list-style-image. JS accepte deux syntaxes : une avec la notation typique de CSS, en kebab-case (un tiret pour séparer les mots), et une autre avec la notation en camel-case (une majuscule pour séparer les mots).

Javascript
let el = document.getElementById('id'); el.style['list-style-image'] = "url('img/list-style-image-1.png')"; // ou let el = document.getElementById('id'); el.style.listStyleImage = "url('img/list-style-image-1.png')";

Avec Javascript, lire la valeur de list-style-image.

Ce code retrouve la valeur de la propriété si elle a été affectée directement à l'élément lui-même et non pas via un sélecteur.

Javascript
let el = document.getElementById('id'); let value = el.style['list-style-image']; // ou let el = document.getElementById('id'); let value = el.style.listStyleImage;

Avec Javascript, lire la valeur calculée de list-style-image.

La valeur calculée est une valeur affectée via un sélecteur ou directement sur l'élément avec l'attribut style, ou celle qui résulte de la cascade des héritages.

Javascript
let el = document.getElementById('id'); let value = window.getComputedStyle(el).getPropertyValue('list-style-image');

Avec JQuery, modifier la valeur de list-style-image.

JQuery

$('#id').css('list-style-image', "url('img/list-style-image-1.png')");
// ou
$('#id').css('listStyleImage', "url('img/list-style-image-1.png')");

Avec JQuery, lire la valeur calculée de list-style-image.

JQuery
let value = $('#id').css('list-style-image');

Testez vous-même.

Les boutons ci-dessous appliquent la valeur saisie à la propriété et affichent ensuite soit la valeur telle qu'elle a été appliquée (premier bouton), soit la valeur calculée. Cette deuxième option permet de voir comment est mémorisée (sérialisée) la valeur de list-style-image. On constate en particulier que l'URL est transformée en URL absolue.

Compatibilité des navigateurs avec list-style-image.

Tous les navigateurs reconnaissent la propriété list-style-image.

1
Propriété
list-style-image
Estimation de la prise en charge globale.
96%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Edge

Opéra

Safari

Safari sur IOS

Androïd Brower

Chrome pour Androïd

Firefox pour Androïd

Samsung Internet

Firefox

Chrome

Baidu Browser

QQ Browser

UC Browser pour Androïd

Opéra mini

Histoire de la propriété list-style-image.

La propriété list-style-image n'a pas évolué depuis la première spécification du langage CSS. Mais le type image peut, depuis le niveau 3 de la spécification, être défini comme un dégradé de couleurs.

Voir aussi, au sujet des listes et compteurs.

Le module de spécification qui regroupe les définitions concernant les listes à puces et les listes numérotées s'appelle CSS Lists and Counters Module (Module CSS - Listes et compteurs). La propriété list-style-image et les propriétés ci-dessous sont décrites dans ce module :

Propriétés :

counter-increment
Définit le pas d'incrémentation d'un compteur.
counter-reset
Initialise un compteur.
counter-set
Change la valeur d'un ou de plusieurs compteurs.
list-style
Résumé des caractéristiques de listes à puces ou à numéros.
list-style-position
Définit l'emplacement des marqueurs de listes (puces ou numéros).
list-style-type
Définit le type des puces ou de la numérotation.
marker-side
Définit le côté où se positionne le marqueur de liste (fonction de la langue).

Fonctions :

counter()
Renvoie la valeur actuelle d'un compteur. Ce dernier est géré par les propriétés counter-reset, counter-set et counter-increment.
counters()
Renvoie la valeur d'un compteur hiérarchique.