Display
La propriété display
définit le type de rendu utilisé par un élément HTML.
Les valeurs courantes de display
incluent block
, inline
, inline-block
, none
, flex
et grid
, chacune affectant la manière dont l'élément est affiché dans le flux du document.
Le choix de la valeur display va influencé la manière dont l'élément interagit avec les autres éléments et comment il est positionné sur la page.
block
Les éléments de type block occupent toute la largeur disponible et commencent sur une nouvelle ligne dans le flux du document.
Exemples : div, p, heading (h1-h6), li.
inline
Les éléments de type inline ne commencent pas sur une nouvelle ligne et prennent juste la largeur nécessaire à leur contenu.
Exemples : span, a, img.
inline-block
Les éléments de type inline-block sont similaires aux éléments inline, mais ils respectent les propriétés width, height.
Ils ne commencent pas sur une nouvelle ligne.
Exemples : input, button.
none
L'élément est retiré complètement du flux du document et n'est pas rendu sur la page.
C'est comme s'il n'existait pas.
Exemple : utilisé pour cacher temporairement un élément et le rendre visible ensuite via javascript.
flex
Les éléments de type flex utilisent un modèle de disposition flexbox, ce qui permet de créer des mises en page flexibles et réactives.
Ils se comportent comme des éléments en bloc et peuvent être alignés et distribués dans l'espace disponible de manière flexible.
Flexbox est vue de manière plus complète dans un autre chapitre.
Exemples : div avec display: flex.
grid
Les éléments de type grid utilisent un modèle de disposition de grille, qui permet de créer des mises en page basées sur une grille.
Ils se comportent comme des éléments en bloc et peuvent être placés dans des cellules spécifiques de la grille.
Exemples : div avec display: grid.
On va retrouver un système de grid dans de nombreux framework css comme Bulma, Bootstrap, PicoCss, Materialize.
La grid des framework est une sourcouche maison du grid natif en css. Savoir l'utliser donne de la liberté et permet de facilement comprendre les grid de framework