La pseudo-classe :empty correspond à un élément qui n'a aucun enfant. Seules les feuilles de l'arbre et le texte (espaces inclus) sont pris en compte. Les commentaires n'ont pas d'influence sur le contenu de l'élément (autrement dit, si un élément ne contient que des commentaires, il sera considéré comme vide).

/* Cible tous les éléments <div> qui */
/* n'ont  pas de contenu */
div:empty {
  background: lime;
}

Syntaxe

:empty

Exemples

CSS

body {
  display: flex;
  justify-content: space-around;
}

.box {
  background: red;
  height: 100px;
  width: 100px;
}

.box:empty {
  background: blue;
}

HTML

<div class="box"><!-- Je serai bleu. --></div>
<div class="box">Je serai rouge.</div>
<div class="box">
    <!-- Je serai rouge à cause des espaces autour du commentaire --> 
</div>

Résultat

Accessibilité

Les technologies d'assistance telles que les lecteurs d'écran ne peuvent pas analyser un contenu interactif vide. Tout contenu interactif doit avoir un nom accessible, fourni sous la forme d'une valeur textuelle via l'élément parent du contrôle (<a>, <button>, etc.). Les noms accessibles pemettent d'exposer le contrôle interactif au sein de l'arbre d'accessibilité, une API communiquant des informations qui peuvent être utilisées par les technologies d'assistance.

Le texte fournissant le nom accessible peut être masqué grâce à des propriétés afin de le retirer visuellement mais de le conserver pour les technologies d'assistance. Cette méthode est généralement utilisée pour les boutons utilisant une simple icône comme indication.

Spécifications

Spécification État Commentaires
Selectors Level 4
La définition de ':empty' dans cette spécification.
Version de travail Aucune modification.
Selectors Level 3
La définition de ':empty' dans cette spécification.
Recommendation Définition initiale.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari pour iOSSamsung Internet
Support simpleChrome Support complet 1Edge Support complet OuiFirefox Support complet 1
Notes Autre nom
Support complet 1
Notes Autre nom
Notes See bug 1106296.
Autre nom Cette fonctionnalité utilise le nom non-standard : :-moz-only-whitespace
IE Support complet 9Opera Support complet 9.5Safari Support complet 3.1WebView Android Support complet 2Chrome Android ? Edge Mobile Support complet OuiFirefox Android Support complet 4
Notes Autre nom
Support complet 4
Notes Autre nom
Notes See bug 1106296.
Autre nom Cette fonctionnalité utilise le nom non-standard : :-moz-only-whitespace
Opera Android Support complet 10Safari iOS Support complet 3.1Samsung Internet Android ?

Légende

Support complet  
Support complet
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Cette fonctionnalité utilise un nom non-standard.
Cette fonctionnalité utilise un nom non-standard.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight, PhilippeV, tregagnon, teoli, FredB, ThePrisoner, Mgjbot, Kyodev, Fredchat
Dernière mise à jour par : SphinxKnight,