Fiecare element are un comportament display implicit care controlează cum se comportă în layout.
<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 */
Setarea width/height pe un element inline nu face nimic. Soluția este să schimbi display-ul:
span { display: inline-block; width: 200px; } /* ✅ flows inline BUT respects size */
inline-block se află în fluxul de text (lângă lângă) și respectă width/height/marginile — perfect pentru elemente de navigație, insigne sau butoane dispuse pe o linie.
block → new line, full width, sizeable
inline → in-line, content width, NOT sizeable (vertically)
inline-block → in-line, content flow, sizeable
Înțelegerea display-ului implicit explică de ce <span> tău nu ia o înălțime, de ce <div>urile se stivuiesc și când să treci la inline-block, flex sau grid.
Este baza pentru modul în care elementele se aranjează înainte de a aplica orice sistem de layout.