Chaque élément a un comportement display par défaut qui contrôle son flux dans la mise en page.
Chaque élément a un comportement display par défaut qui contrôle son flux dans la mise en page.
<div>, <p>, <h1>, <section>, <ul>.<span>, <a>, <strong>, <em>.<p>This is a <strong>bold</strong> word inside a paragraph.</p>
<!-- <strong> stays inline; the two <div>s below stack vertically -->
<div>Block one</div>
<div>Block two</div>
span { width: 200px; height: 50px; } /* ❌ ignored — span is inline */
Définir width/height sur un élément inline ne fait rien. La solution est de changer son display :
span { display: inline-block; width: 200px; } /* ✅ flows inline BUT respects size */
inline-block s'inscrit dans le flux de texte (côte à côte) et respecte width/height/margins — parfait pour les éléments de navigation, les badges ou les boutons disposés en ligne.
block → new line, full width, sizeable
inline → in-line, content width, NOT sizeable (vertically)
inline-block → in-line, content flow, sizeable
Comprendre le display par défaut explique pourquoi votre <span> ne prendra pas de hauteur, pourquoi les <div> s'empilent, et quand basculer vers inline-block, flex ou grid.
C'est le fondement de la façon dont les éléments s'organisent avant d'appliquer un système de mise en page.