功能簡介
這個工具在像素和相對單位 rem、em 之間換算 CSS 長度。輸入單一數值(如 24px)得到 1.5rem;每行一個值可一次換算多個;貼上整段樣式表,其中所有 px 值都會被原地改寫。對照表列出目前基準字級下 1px 到 128px 的常用尺寸。所有內容都只在瀏覽器中處理。
使用方法
- 貼上 CSS,或每行輸入一個數值。不帶單位的數字視為 px(反向換算時視為 rem/em),寫了另一種單位的值會自動反向換算。
- 設定「基準字級」。所有瀏覽器的預設值都是 16px;有些專案會寫
html { font-size: 62.5% },讓 1rem = 10px。 - 選擇「方向」(px → rem 或 rem → px)、「單位」(rem 或 em)以及保留幾位「小數位數」。
- 需要時設定「小於此值保留 px」,讓 1px 邊框等細線維持 px。
- 按結果上方的按鈕複製。
範例
/* before */
.title { font-size: 24px; margin-bottom: 12px; }
/* after (base 16px) */
.title { font-size: 1.5rem; margin-bottom: 0.75rem; }
不是 px 的值,例如百分比、顏色、url() 裡的檔名和 .mt-16px 這類 class 名稱,都不會被更動。0px 會寫成 0。
px、rem 和 em
- px 是絕對單位,不理會讀者設定的偏好字級。
- rem(root em)是
html元素字級的倍數。讀者把瀏覽器字級設為 20px 時,1rem 就是 20px,整個版面隨之縮放。 - em 是目前元素字級的倍數。適合需要跟隨所屬文字大小的間距,但巢狀的 em 會相乘,所以預設用 rem 比較穩妥。
媒體查詢也會轉換:@media (min-width: 768px) 變成 48rem(或 48em),讀者放大文字時斷點仍然一致。注意在媒體查詢中,rem 和 em 都以瀏覽器預設字級為準,而不是你在 html 上設定的字級。
常見問題
› px 怎麼換算成 rem?
用像素值除以根元素字級。瀏覽器預設字級是 16px,所以 24px ÷ 16 = 1.5rem,12px ÷ 16 = 0.75rem。反過來就是乘法:2rem × 16 = 32px。
› rem 和 em 有什麼不同?
rem 相對於根元素 html 的字級,所以 1rem 在頁面任何地方都一樣大。em 相對於目前元素的字級(設定 font-size 本身時相對於父元素),元素巢狀時會層層相乘。大多數尺寸用 rem,需要跟著自身文字縮放的地方(例如按鈕內距)用 em。
› 為什麼用 rem 而不是 px?
讀者在瀏覽器設定中調大預設字級時,rem 的尺寸會跟著變大,px 則固定不變。用 rem 能確保版面的無障礙性,也方便只改一個根字級就整體縮放設計。
› 1px 邊框要不要轉換?
通常不用。0.0625rem 的細線在某些縮放比例下會模糊甚至消失。把「小於此值保留 px」設為 2px,邊框等極小的值就會保留為 px。