Hvert element har en standard display-oppførsel som kontrollerer hvordan det strømmer i oppsettet.
<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 */
Å sette bredde/høyde på et innebygd element gjør ingenting. Løsningen er å endre displayen:
span { display: inline-block; width: 200px; } /* ✅ flows inline BUT respects size */
inline-block sitter i tekststrømmen (side ved side) og respekterer bredde/høyde/marger — perfekt for navigasjonselementer, merker eller knapper som er oppstilt i en rad.
block → new line, full width, sizeable
inline → in-line, content width, NOT sizeable (vertically)
inline-block → in-line, content flow, sizeable
Å forstå standard display forklarer hvorfor <span> din ikke tar en høyde, hvorfor <div>er stables, og når du skal bytte til inline-block, flex eller grid.
Det er grunnlaget for hvordan elementer ordnes før du bruker noe layoutsystem.