HTML 將 Element 分成 Inline、Block 與 Inline-block Element,透過 display: inline-element 可將 Inline / Block 強制轉成 Inline-block。
Version
CSS 3
Inline Element
- 代表性的 Inline Element 有:
<span><a><input><img>
Block Element
- 代表性 Block Element 有:
<div><ul>、<li><p><h1>
span

CSS 與 Rocks 在同一行顯示,且上方沒有 margin。
<template>
<span class="item">CSS</span>
<span class="item">Rocks</span>
</template>
<style scoped>
.item {
margin-top: 10px;
}
</style>
第 2 行
<span class="item">CSS</span>
<span class="item">Rocks</span>
使用 <span> 且套用 item class。
第 7 行
.item {
margin-top: 10px;
}
margin-top: 10px:雖然使用了margin-to: 10px,但視覺上並沒有顯示
display: block

雖然成功套用 margin-top,但卻換行了。
<template>
<span class="item">CSS</span>
<span class="item">Rocks</span>
</template>
<style scoped>
.item {
display: block;
margin-top: 10px;
}
</style>
13 行
.item {
display: block;
margin-top: 10px;
}
display: block:將<span>從 inline 轉成 blockmargin-top: 10px:雖然可套用margin-top: 10px,但因為 block 會換行,所以並不適合
display: inline-block

CSS 與 Rocks 在同一行顯示,且成功套用 margin-top。
<template>
<span class="item">CSS</span>
<span class="item">Rocks</span>
</template>
<style scoped>
.item {
display: inline-block;
margin-top: 10px;
}
</style>
13 行
.item {
display: inline-block;
margin-top: 10px;
}
display: inline-block: 將<span>從 inline 轉成 inline-blockmargin-top: 10px:可兼顧margin-top且不換行
<template>
<div class="item">CSS</div>
<div class="item">Rocks</div>
</template>
<style scoped>
.item {
display: inline-block;
margin-top: 10px;
}
</style>
第 2 行
<div class="item">CSS</div>
<div class="item">Rocks</div>
將 <span> 改成 <div>,亦可使用 display: inline-block。
Conclusion
- Inline 與 block 皆可使用
display: inline-block轉成 inline-block