---
# System prepended metadata

title: 'display: inline, block 跟 inline-block 的差別是什麼？'
tags: [HTML]

---

# display: inline, block 跟 inline-block 的差別是什麼？
###### tags: `HTML`
### display: inline
指行內元素，Content 的寬高會依據內容顯示，無法調整。左右 margin 可以調整，上下無法。左右 padding 可以調整，上下只會顯示背景的改變，但元素位置不會動。

屬於 inline 的 html 元素包含 `<span>`、`<a>`、`<input>`、`<img>`
### display: block
會佔滿一整行，padding、border、margin 調整對整個元素都有影響。

屬於 block 的 html 元素包含 `<div>`、`<ul>`、`<li>`、`<p>`、`<h1>`
### display: inline-block
對外像 inline 可以併排，對內像 block 可以調整屬性。

## 請問 position: static, relative, absolute 跟 fixed 的差別是什麼？
### position: static
預設的元素定位類型。
當該元素定位類型為 `position: static` 時，`top`、`right`、`bottom`、`left` 和 `z-index` 屬性皆無效。
### position: relative
設定為 `postion: relative` 的元素可以透過`top`、`right`、`bottom`、`left` 和 `z-index` 等屬性改變定位。
以此方式定位的元素不會影響其他的元素定位。
### position: absolute
`position: absolute` 會需要參考點進行定位，參考點會以最近的（上層）非 static 定位元素為參考點。
以絕對定位定位的元素會被排除在預設排版之外，原本的空間會被接續的元素替補上。
### position: fixed
相對於瀏覽器做定位，位置可以固定定位在瀏覽器（更精確的說法為 viewport）上的位置，在頁面滾動不會隨頁面而上升或下降。