PX與REM單位換算工具(PX to REM Converter)

免費的px與rem相互換算工具。可自由修改根元素(html)的font-size基準值,即時查看換算結果,適用於響應式設計與無障礙設計。

PX轉REM對照表(基準16px)

假設根元素font-size為瀏覽器預設值16px時,常用px值對應的rem值。

px rem
8px 0.5rem
10px 0.625rem
12px 0.75rem
14px 0.875rem
16px 1rem
18px 1.125rem
20px 1.25rem
24px 1.5rem
28px 1.75rem
32px 2rem
36px 2.25rem
40px 2.5rem
48px 3rem
64px 4rem

PX⇔REM 換算工具是什麼

把 px 指定的尺寸換成 rem,或把 rem 換回 px。根元素(html)的 font-size 基準值可以自由更改,換算的結果隨之呈現。

首先要弄清的是,rem 所依的是根元素的字級,而這個字級是使用者可以更改的。 瀏覽器設定裡的「字型大小」若被調大,rem 指定的一切便隨之放大——這正是 rem 的用意所在。因此,切莫在 CSS 裡寫下 html { font-size: 16px }。 如此一來便把使用者的設定壓了下去,視力不佳者放大字體的路也被堵死了。若要動基準值,請用 % 或 rem 這類相對的寫法。

其次,em 與 rem 的不同在於是否疊加。 em 以其所在元素的字級為準,故而層層巢狀時會不斷相乘;rem 則始終只看根元素,無論套了多少層都不變。

還有一處易被絆住:媒體查詢裡的 em,其基準並非根元素的字級,而是瀏覽器的預設值。 縱然把 html 的字級改小,媒體查詢的斷點也不會跟著動。

使用的步驟

  1. 定下基準值 多數瀏覽器的預設值為 16px。 若不確定,保持 16 即可。
  2. 填入 px 或 rem 任一側填入數值,另一側即刻現出換算的結果。
  3. 複製 CSS 的寫法 可把帶單位的字串直接取走。
  4. 查看對照表 常用的尺寸列成一覽,便於逐一挑選。

用好本工具的小技巧

  • 瀏覽器預設1rem等於16px,但視力較弱的使用者可能會在瀏覽器中調大預設字級,使用rem可以讓頁面自動跟隨該設定縮放。
  • 媒體查詢(@media)的斷點通常習慣以px指定,而font-size、padding、margin等間距則建議使用rem,這樣在使用者調整字級偏好時,整體版面比例更容易維持協調。
  • 有些專案會設定html { font-size: 62.5%; },讓1rem等於10px,方便心算換算(1.6rem等於16px)。可以在上方基準值欄輸入10來體驗這種換算方式。
  • 常見的慣例是頁面整體版面用rem,元件內部間距用em,這樣元件在任何地方使用時都能跟隨自身字級縮放。

這些情境會用到

把設計稿的數值落到 CSS 時

設計稿多以 px 交付。 基準值既定,便可機械地換成 rem。

統一既有專案的單位時

px 與 rem 混雜的程式碼,整理時可將此表置於手邊。

更改根基準值以觀察影響時

基準值一改,凡以 rem 指定之處盡數連動。 幅度可預先確認。

決定媒體查詢的斷點時

媒體查詢的 em 不以根元素為準,而以瀏覽器預設值為準。 換算的前提本就不同。

這一領域的術語

rem
以根元素(html)字級為基準的相對單位。無論巢狀多深,其基準始終不變。
em
以所在元素字級為基準的相對單位。層層巢狀時會不斷相乘。
根元素
文件最外層的 html 元素。rem 的一切換算皆以它的字級為本。
瀏覽器預設字級
多數環境為 16px。使用者可自行更改,而這正是應予尊重之處。
以 px 指定 html 的字級
會壓過使用者的設定,故應避免。 要動基準值,請用 % 之類的相對寫法。
媒體查詢中的 em
不以根元素,而以瀏覽器預設值為基準。 改動 html 的字級,斷點不會隨之移動。

常見問題

不是。1rem的基準是根元素(<html>)的font-size,只有在瀏覽器預設值16px的情況下才等於16px。若CSS修改了根元素的font-size,或使用者在瀏覽器中調整了預設字級,實際換算出的px值就會改變。

rem始終以根元素(<html>)的font-size為基準,無論巢狀多少層都保持一致。而em則以「目前元素的父元素font-size」為基準,元素巢狀越深,實際大小越容易偏離預期。

使用rem可以讓文字大小隨使用者在瀏覽器或系統輔助功能中調大字級而同步放大。若固定使用px,這種放大設定就不會生效,對視力較弱的使用者不夠友善。

將設計稿中的px值除以專案實際的根元素font-size(預設16)即可得到rem值。若專案將根元素font-size改成了其他數值,請先在本工具的基準值欄輸入該數值再進行換算,結果才會與實際CSS一致。
工具君

閒話 ― rem單位如何被納入CSS規範

rem單位最早出現在W3C於2006年9月發布的草案《CSS3 Values and Units》中。在它普及之前,幾乎所有網頁都只用px或em來設定文字與間距大小,而em有一個廣為人知的麻煩:由於它以父元素的font-size為基準,元素巢狀越多,實際大小就越容易在複雜版面中偏離預期。

rem正是為了解決這個問題而設計的:它始終參照同一個基準——根元素,無論元素巢狀多深,計算結果都不會偏移。在仍需相容不支援rem的Internet Explorer 8及更早版本的年代,開發者常常先寫一行px作為相容寫法,再補一行rem(font-size: 16px; font-size: 1rem;)(IE9、IE10也只是部分支援,在font簡寫屬性與偽元素中會忽略rem)。等到2010年代中期不再需要相容這些舊版IE後,這種相容寫法才逐漸不再必要。

如今,圍繞rem統一建構整站的字級與間距體系已成為無障礙設計的常見做法:當訪客調大瀏覽器字級時,整個頁面能夠平滑放大而不會錯位或被裁切。WCAG(Web內容無障礙指南)等規範也明確建議不要僅依賴固定單位來設定文字大小。