---
# System prepended metadata

title: CSS 單位
tags: [CSS]

---

# CSS 單位 
###### tags: `CSS`
![](https://i.imgur.com/CoiD9ES.png)
### px
> 絕對單位，代表螢幕中每個「點」( pixel )。
## 文字相對單位
### em 
> - **font size** of the element
> - ==相對單位==，每個子元素透過「倍數」乘以**父元素**的 px 值。
> - 文字比例會受到外圍的文字大小所影響。
:::warning
當元件過度巢狀時，em 單位會變得複雜難用。
:::
### rem
> - **font size** of the **root** element
> - ==相對單位==，每個元素透過「倍數」乘以根元素的 px 值。
> - 文字比例會會依照最外層的 html 標籤的預設文字大小。

#### 常用 rem 轉換
| px | rem |
| -------- | -------- |
| 10px | 0.625rem |
| 12px | 0.75rem |
| 14px | 0.875rem |
| ==16px== | ==1rem (base)== |
| 18px | 1.125rem |
| 20px | 1.25rem |
| 24px | 1.5rem |
| 30px | 1.875rem |
| 32px | 2rem |

## 視窗單位

![](https://i.imgur.com/YfhBIw7.png)

### vh
> - **v**iewpoint **h**eight
> - 可視區 (viewport) 的高度 (px) ，除以 100 ，等於 1vh。
### vw
> - **v**iewpoint **w**eight
> - 可視區 (viewport) 的寬度 (px) ，除以 100 ，等於 1vw。

### vim, vmx
> 當前 vw 和 vh 中較小/大的一個值。
#### 使用情境
1. 製作 RWD 時，使用 vw、vh 設置字體大小，在直屏和横屏顯示的字體大小是不一樣的，但若使用 vmin 與 max 則可使文字在直橫屏一致。
2. 有一個元素，你需要讓它在屏幕上始終可見：
```
.box { height: 100vmax; width: 100vmax; background:red;}
```
![](https://i.imgur.com/PK7FUcR.png =60%x)

![](https://i.imgur.com/rzRXfbv.png =60%x)
