CSS:display
Un article de MDC.
[modifier] Résumé
Cette propriété définit le type de rendu de boîte à utiliser pour un élément donné. Pour un langage comme HTML, où les éléments existants ont un comportement bien défini, les valeurs par défaut de la propriété display sont extraites des comportements décrits dans les spécifications HTML ou depuis la feuille de style par défaut du navigateur ou de l'utilisateur. Pour des langages où le comportement de l'affichage n'est pas défini (comme XML), la valeur par défaut est inline.
Outre les nombreux types d'affichage de boîte autorisés, il existe une autre valeur, none, qui permet de ne pas afficher un élément ni aucun de ses descendants. Le document est rendu comme si cet élément n'existait pas dans l'arbre du document. Cette valeur offre de puissantes possibilités, mais elle doit être utilisée avec précaution.
- Valeur initiale :
inline - S'applique à : tous les éléments
- Héritée : non
- Pourcentages : N/A
- Média :
visuel - Valeur calculée : comme spécifiée, sauf pour l'élément racine, les éléments flottants, et les éléments positionnés en absolu.
[modifier] Syntaxe
display:<display-value> |inherit
[modifier] Valeurs
- <display-value>
- La valeur de
displaypeut prendre l'une des valeurs suivantes :- inherit
- Définit explicitement la valeur de cette propriété comme étant celle de l'élément parent.
- none
- Cette valeur désactive l'affichage d'un élément (il n'a donc aucun effet sur la mise en page), tous les descendants sont également cachés sans conditions. Le document est rendu comme si l'élément et ses descendants n'existaient pas dans l'arbre du document. Pour prendre en compte les dimensions d'un élément boîte dans le schéma de formatage du document, bien que son contenu soit invisible, voir la propriété
visibility. - inline
- L'élément génère une ou plusieurs boîtes en-ligne.
- block
- L'élément génère une boîte de type bloc.
- inline-block
- Introduite dans CSS 2.1. L'élément génère une boîte de type bloc en flux, avec le contenu l'entourant comme une simple boîte en-ligne (se comporte comme le ferait un élément replacé). Nouveau dans Firefox 3
- list-item
- L'élément génère une boîte de type bloc pour le contenu et une boîte séparée en-ligne pour les éléments de liste .
- compact
- Selon le contexte, cette valeur crée soit une boîte en-ligne, soit une boîte de type bloc. Selon les cas, différentes propriétés CSS peuvent s'appliquer à l'élément
compact. Dans un contexte de type bloc, l'élémentcompactest rendu dans la marge droite ou gauche de l'élément bloc. L'élémentcompactparticipe au calcul de la hauteur de ligne pour la ligne courante, et la valeur de la propriétévertical-alignest relative à l'élément bloc. - run-in
- Selon le contexte, cette valeur crée soit une boîte en-ligne, soit une boîte de type bloc. Selon les cas, différentes propriétés CSS peuvent s'appliquer à l'élément
run-in. Les propriétés de l'élémentrun-insont héritées de son élément parent dans l'arbre du document, elles ne le sont pas de l'élément bloc auquel il participe. - table-header-group | table-footer-group
- L'élément se comporte comme les éléments correspondants de tableau HTML
theadettfoot, desquels ces valeurs tiennent leur nom. - table
- L'élément se comporte comme la balise correspondante de tableau HTML, de laquelle cette valeur tient son nom.
- inline-table
- L'élément se comporte comme la balise correspondante de tableau HTML, de laquelle cette valeur tient son nom. La valeur
inline-tablen'a pas de correspondance directe en HTML. Nouveau dans Firefox 3 - table-caption
- L'élément se comporte comme la balise correspondante de tableau HTML, de laquelle cette valeur tient son nom.
- table-cell
- L'élément se comporte comme la balise correspondante de tableau HTML, de laquelle cette valeur tient son nom.
- table-row | table-row-group
- L'élément se comporte comme la balise correspondante de tableau HTML, de laquelle cette valeur tient son nom.
- table-column | table-column-group
- L'élément se comporte comme les éléments correspondants de tableau HTML, desquels ces valeurs tiennent leur nom.
[modifier] Exemples
Voir des exemples en ligne (en)
p { display: block }
[modifier] Notes
- Conformité CSS1 : les navigateurs doivent tout à fait ignorer la propriété
displayet utiliser à la place les paramètres par défaut du navigateur pour chaque élément. - Dans CSS1, la valeur par défaut pour cette propriété était
block. Dans CSS2 elle a été changée pourinline.
[modifier] Éléments « bloc » et éléments « en-ligne »
- Les éléments de type bloc créent des blocs de contenu verticalement distincts (dans le contexte visuel), généralement en utilisant des retours à la ligne avant et après le contenu. Seule cette valeur de
displaypermet de générer des éléments positionnés. Le comportement de type bloc est illustré par des éléments HTML tels queblockquote,divou encore les titreshx. Les valeurs de la propriétédisplaycréant un élément de type bloc sont :block,list-item,table,compactetrun-in. - Les éléments de type en-ligne ne créent pas de blocs distincts de contenu et le contenu de l'élément est rendu à l'aide d'une boîte ligne (le contenu est distribué ligne par ligne dans l'élément bloc, physique ou virtuel, le contenant). Le comportement de type en-ligne est illustré par des éléments HTML tels que le formatage physique et virtuel des caractères, les images non flottantes et les contenus non balisés. Les valeurs de la propriété
displaycréant un élément de type en-ligne sont :inline,inline-table,compactetrun-in.
[modifier] Spécifications
[modifier] Compatibilité des navigateurs
| Navigateur | Version minimale |
|---|---|
| Internet Explorer | 4 |
| Netscape | 4 |
| Opera | 3.5 |
Les valeurs table-* sont supportées dans Firefox et ???.
Les valeurs compact et run-in ne sont pas supportées dans Firefox. Elles sont supportées dans ???.
Les valeurs inline-block et inline-table sont supportées dans Firefox 3 / Gecko 1.9. La valeur inline-block est aussi supportée dans ??? et la valeur inline-table est aussi supportée dans ???.