每个元素都有一个默认的 display 行为,它控制元素如何在布局中流动。
<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 */
在 inline 元素上设置 width/height 没有效果。解决方法是改变它的 display:
span { display: inline-block; width: 200px; } /* ✅ flows inline BUT respects size */
inline-block 保持在文本流中(并排),同时尊重 width/height/margins——非常适合导航项、徽章或排成一行的按钮。
block → new line, full width, sizeable
inline → in-line, content width, NOT sizeable (vertically)
inline-block → in-line, content flow, sizeable
理解默认 display 行为可以解释为什么你的 <span> 不能设置高度,为什么 <div> 会堆叠,以及何时应该切换到 inline-block、flex 或 grid。
这是在应用任何布局系统之前,元素如何排列的基础。