如何使用此計算機

輸入數值和單位,選擇目標單位。可自訂基礎字型大小(預設 16px)和視窗寬高。

公式與原理

1 rem = 根元素字型大小(預設 16px)。1 em = 父元素字型大小。1 vw = 視窗寬度 1%。

計算範例

24px = 1.5rem(基礎 16px 時)。2rem = 32px。50vw = 視窗寬度的一半。

專家建議

響應式設計優先用 rem。固定大小用 px。版面佈局用 vw/vh。避免混用太多不同單位。

rem 和 em 差在哪:一個常見的坑

rem 永遠參照根元素<html>)的字型大小,em 參照的是父元素。這個差別在巢狀結構裡會造成完全不同的結果:如果父層設 font-size: 1.2em,子層再設 1.2em,實際會變成 1.44 倍——em 會一層層累乘。用 rem 就不會有這個問題,不管巢狀多深,1.2rem 永遠是根字型的 1.2 倍。

所以字型大小用 rem 比較好維護;em 則適合「相對於自己字級」的場景,例如按鈕的 padding: 0.5em 1em,字變大時內距會跟著等比放大。

為什麼無障礙建議字型不要用 px

使用者可以在瀏覽器設定裡調整預設字型大小(給視力不佳的人用)。字型用 remem 時會跟著放大,但寫死 px 的文字在部分情境下不會反應這個設定,等於忽略了使用者的需求。這也是 WCAG 無障礙準則建議避免用 px 定義字級的原因。

實務上的折衷:字級、行距、間距用 rem;邊框寬度(1px)、細線這類本來就該固定的用 px。

常用換算對照(基礎 16px)

pxrem常見用途
12px0.75rem註解、標籤文字
14px0.875rem次要內文
16px1rem內文基準(瀏覽器預設)
20px1.25rem小標題
24px1.5remH3
32px2remH2
48px3rem大標題、區塊間距

換算公式:rem = px ÷ 根字型大小。若你把根字型改成 10px(html { font-size: 62.5% })換算會變成除以 10,心算比較快,但要留意這會壓縮使用者自訂字級的效果。

vw / vh 的兩個實務陷阱

第一個是手機瀏覽器的網址列100vh 在 iOS Safari 上包含被網址列遮住的區域,捲動時高度會跳動,畫面因此閃一下。現在建議改用 100dvh(dynamic viewport height),它會跟著可視區域變化。

第二個是捲軸寬度100vw 包含垂直捲軸的寬度,在桌機上用 width: 100vw 常會多出幾像素而產生水平捲軸。要滿版通常用 width: 100% 就好。