ToolHub
View All Posts

CSS単位変換するガイド:px、rem、em、vw、vh 詳細解説

選択する正しくの CSS単位は编写スタイル表时最も具影響する力の决策の一つ。あなた選択するの単位決定するた元素どのようにで異なる屏幕尺寸间スケーリング、どのように対応用户設定(如ブラウザ字体大小設定する)ならびにレイアウトの予測可能行のために。しかし,多くの開発者出于习惯默认使用ピクセル,誤たことがあるた相対単位提供するの柔軟性とアクセシビリティ优势。このガイドではたすべての主に CSS単位,説明するた何时使用毎種類単位,示すたどのようにでそれ们の間変換する,かつ提供するた现代レスポンシブデザインの实用ベストプラクティス。

理解する CSS単位カテゴリ

CSS単位分のために两大类:絶対単位と相対単位。絶対単位を持つ固定の物理大小,そして相対単位から另一つの参照点派生其計算する值。理解するこれ一違いは做出明智単位選択するのベース。

絶対単位

絶対単位は固定大小の度量。Web 開発する中最も常用の絶対単位はピクセル (px)。其彼絶対単位を含む点 (pt)、厘米 (cm)、毫米 (mm) と英寸 (in)。これらの単位主にに使用される印刷するスタイル表または時にあなた必要とする不随コンテキスト变化の度量时。でに基づく屏幕の CSS 中,px はあなた唯一できるよく使用の絶対単位。

相対単位

相対単位に基づく参照值計算する其最も终值。em 相に対して現在の元素の字体大小,rem 相に対して根元素の字体大小,vw と vh 相に対してビューポート尺寸,百分比相に対して父元素。相対単位はレスポンシブとアクセシビリティ設計するの基石,なぜならそれ们許可するあなたのレイアウト自动适应異なるのコンテキスト。

ピクセル (px):基準単位

ピクセルは最も直感的の CSS単位,なぜならそれ直接映射まで屏幕ピクセル(で设备ピクセル比側面ありいくつかの注意する事项)。px 值にかかわらずコンテキストどのようにすべて常に同じ,これさせる其予測可能かつ易于理解する。しかし,これ種類予測可能性はあり代价の:に基づくピクセルの尺寸で用户より改ブラウザ默认字体大時間できないスケーリング,これできる作成するアクセシビリティ问题。

何时使用 px

何时避ける px

避ける使用 px として字体大小、内边距、外边距と应适適用する户設定のレイアウト尺寸。するブラウザ字体大小増やすまで 20px の用户期望すべての文本相应スケーリング,しかしに基づく px の字体大小できない対応此变化。

rem:ルート相対サイズ

) の字体大小。で大多数のブラウザ中,默认根字体大小のために 16px,したがって 1rem = 16px,0.5rem = 8px,2rem = 32px。rem の閉键优势はそれで用户より改ブラウザ默认字体大時間できるスケーリング,させる其になるアクセシビリティの最良選択する。

する px 変換するのために rem

変換する公式とても簡単:するピクセル值除もって根字体大小。

rem = px / root-font-size

// With default root font size of 16px:
12px = 12 / 16 = 0.75rem
16px = 16 / 16 = 1rem
24px = 24 / 16 = 1.5rem
32px = 32 / 16 = 2rem
48px = 48 / 16 = 3rem

62.5% のテクニック

多くの開発者発見する除もって 16 の数学运算とても繁琐。一種のストリーム行の技巧はする根字体大小設定するのために 62.5%,させる 1rem など于 10px。これは以下を簡素化しますた心算:14px に変わる 1.4rem,24px に変わる 2.4rem,などなど。

html {
    font-size: 62.5%; /* 1rem = 10px */
}

body {
    font-size: 1.6rem; /* 16px */
}

h1 {
    font-size: 3.2rem; /* 32px */
    margin-bottom: 1.6rem; /* 16px */
}
アクセシビリティに関する注意:62.5% のテクニック理由は有効,はなぜならそれまだ尊重用户の字体大小設定。で根元素上設定する font-size: 62.5% は用户選択する默认值の 62.5%,したがってもし用户するブラウザ設定するのために 20px,根元素に変わる 12.5px,すべての rem 值按比例スケーリング。切勿する根字体大小設定するのために固定の px 值,なぜならこれできるオーバーライド用户設定。

em:コンテキスト相対サイズ

em 単位相に対して現在の元素の字体大小(またはに対して font-size もって外の属性,相に対して其父元素)。これは以下を意味します 1em など于現在の字体大小,em 值で元素嵌套时できる複合。これ種類複合行のために既かもしれない強力もかもしれないさせる人困惑。

複合の問題

/* Parent: font-size 16px */
.parent {
    font-size: 1em; /* 16px */
}

/* Child: 1.2em of parent's 16px = 19.2px */
.child {
    font-size: 1.2em;
}

/* Grandchild: 1.2em of child's 19.2px = 23.04px */
.grandchild {
    font-size: 1.2em;
}

各嵌套元素すべてできる乘もって字体大小,をもたらす指数関数的な増加。これすぐにはなぜ rem 通常より適合する字体大小。しかし,em であなたしたいする必要があるコンポーネントレベルのスケーリングの特定ユースケース中表现出色。

何时使用 em

ビューポート単位:vw、vh、vmin、vmax

ビューポート単位相に対してブラウザ窗口尺寸。1vw など于ビューポート幅度の 1%,1vh など于ビューポート高度の 1%。vmin は vw と vh 中较小の一つの,vmax は较大の一つの。これらの単位に対して作成する対応利用可能屏幕空间のレイアウト非常に重要です。

常见ビューポート単位ユースケース

ユースケース単位
全画面ヒーローセクションvhheight: 100vh
フルードタイポグラフィvw + clampfont-size: clamp(1rem, 2.5vw, 2rem)
サイドバイサイドレイアウトvwwidth: 50vw
正方形要素vminwidth: 20vmin; height: 20vmin
全ビューポートオーバーレイvw + vhwidth: 100vw; height: 100vh

モバイル vh 问题

で移动ブラウザ上,100vh かつ不常になど于可见ビューポート高度。ブラウザのに址栏とナビゲーション控件占用空间,しかし 100vh を含むこれらの控件後面の区域。これは以下を引き起こします全高区域底部内容られる截断。现代 CSS 提供するた dvh(動的ビューポート高さ)として解决方案,それ考慮するた动态ツール栏。または,使用 JavaScript に基づく window.innerHeight 設定する CSS カスタマイズする属性。

/* Modern approach */
.hero {
    height: 100dvh; /* Dynamic viewport height */
}

/* Fallback for older browsers */
.hero {
    height: 100vh;
    height: 100dvh;
}

新しいビューポート単位:svh、lvh、dvh

CSS 引入た三个新規のビューポート高度単位来解决モバイルビューポート问题:

幅度(svw、lvw、dvw)と最小/最大単位(svmin、lvmin、dvmin など)も存で同じの小/大/动态变体。モバイル全画面レイアウト使用 dvh,必要とする保証する内容なし需スクロールする即可表示する时使用 svh,したいする必要がある填充最大かもしれない空间时使用 lvh。

使用 clamp() 実装するフルードタイポグラフィ

CSS clamp() 函数はレスポンシブ排版の游戏规すなわち変革する者。それ受け取る三个值:最小值、首选值と最大值。ブラウザ選択する首选值,しかしする其制限するで最小值と最大值の間。

/* Font size scales from 1rem to 2.5rem based on viewport */
h1 {
    font-size: clamp(1rem, 2.5vw + 0.5rem, 2.5rem);
}

/* Padding scales proportionally */
.container {
    padding: clamp(1rem, 3vw, 3rem);
}

これ種類方法のためにあなた提供するたに基づくビューポートスケーリングの良处,そしてない文本でモバイル变てあまりにも小またはで桌面端变てあまりにも大のリスク。それ消を除いて字体大小正メディアクエリのブレークポイントの需求,显著下げるた CSS 複雑性。

変換リファレンス表

する此表として常见変換するの高速参照。すべての值偽设 16px 根字体大小と 1920x1080 ビューポート。

pxremem(16px 时)vw(1920px)%(16px の)
8px0.5rem0.5em0.417vw50%
12px0.75rem0.75em0.625vw75%
16px1rem1em0.833vw100%
20px1.25rem1.25em1.042vw125%
24px1.5rem1.5em1.25vw150%
32px2rem2em1.667vw200%
48px3rem3em2.5vw300%
64px4rem4em3.333vw400%

CSS単位ベストプラクティス

必要とする高速で CSS単位の間変換する?無料のオンライン CSS単位コンバーター。で px まで rem、em まで px、ビューポート単位などの間即時変換する。

CSS単位コンバーター

よくある質問

字体大小使用すべき px それとも rem?

大多数の情况下使用 rem として字体大小。rem 単位相に対して根字体大小,したがって時に用户より改ブラウザ默认字体大時間できるスケーリング。これは以下を改善しますたアクセシビリティ性。仅でボーダー、シャドウなど細かいディテールまたは必要とする不应随用户設定スケーリングのピクセル级精度时使用 px。

em と rem 違いは何か?

em 相に対して父元素の字体大小,そして rem 相に対して根字体大小(通常のために 16px)。em で嵌套时できる複合,かもしれないをもたらす意外の大小变化。rem 常に引用する同じのベース,させる其より予測可能。rem に使用される全局尺寸,em に使用されるあなた希望する嵌套元素按比例スケーリングのコンポーネントレベルのスケーリング。

どのようにする px 変換するのために rem?

するピクセル值除もって根字体大小(通常のために 16px)。例えば,24px / 16 = 1.5rem。公式のために:rem = px / root-font-size。もし根字体大小のために 16px,すなわち 1rem = 16px,0.5rem = 8px,2rem = 32px。あなたできる使用オンライン CSS単位コンバーター入行高速変換する。

いつ使用すべきビューポート単位 (vw, vh)?

時にあなたしたいする必要がある相に対してブラウザ窗口の大時間使用ビューポート単位。一般的なユースケースを含む全画面ヒーローセクション (100vh)、随ビューポート幅度スケーリングの排版(clamp 加 vw)ならびに应填充利用可能空间のレイアウト。避ける単独使用 vw として正文文本,なぜならそれでモバイルかもしれない变てあまりにも小またはで幅屏上あまりにも大。

レスポンシブデザイン最良の CSS単位とは何か?

ない単一の最良単位。コンポジット使用效果最良:rem に使用される字体大小と间距,百分比に使用されるコンテナ内の幅度,ビューポート単位に使用される全画面要素,CSS clamp() に使用されるで最小と最大尺寸の間スケーリングのフルードタイポグラフィ。閉键は理解する各単位引用する何么かつ据此選択する。

ToolHub's collection of 300+ free online tools including CSS unit converters, formatters, and more — no sign-up required.