
2026/08/23 22:56
px の死、ch の栄光
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
本文は、
ch や ex のような CSS の文字ベースの単位のことが一貫した読みやすさのために不可欠であると論じ、固定画素グリッドよりも高解像度画面に適応する点で優れているとしています。現代のデバイスでは、1 つの CSS 画素が複数の物理画素を覆うことがあり、その結果標準的な測定単位が異なるハードウェア間で予測不能に変動します。これを解決するために、著者はコンテンツ幅には min(75ch, 100%)、縦方向の間隔には ex の使用を提唱しています。これらの知覚単位は、任意の物理的な次元ではなく、そのテキスト自体の文字密度相対で測定するため、デバイスに関係なく安定した読み体験を保証します。既存の画素ベースのスタイルが本質的に欠陥があるわけではないことを認めつつも、このアプローチはハードウェア仕様よりも人間の視覚的快適さを優先しています。この戦略は、単位選択が技術的な必須ルールというよりも、テキスト-heavy なブログなどの特定の文脈における好みの問題であるという設計哲学を反映しています。結局のところ、物理的な画素定義への依存のみではなく、この方法はデバイス間の一貫性に対するより堅牢な解決策を提供し、実際の読み方の習慣に基づいてレイアウトが自らを微調整することを可能にします。本文
ピクセルとは何か:知覚的な「嘘」と CSS における単位設計
モニターとピクセルの限界
- ピクセルは嘘である
- たとえ「ピクセル完璧」な精度で描画されていても、モニター自体が物理的な現実を歪めて表示しています。
- プラトンの理想とする完全に正方形からなるグリッドといった存在は物理世界にはありません。
CSS における「1px」と「1cm」の意味
- デバイス依存性
- CSS の
は必ずしもデバイスの物理ピクセル(1 ドット)とは等しくありません。1px - HD ディスプレイなどでは、
が複数の物理ピクセルにまたがる高密度表示も一般的です。1px - 同様に、CSS の
も SI メートル法の百分子一とは常に一致しません(大きなテレビ画面上では通常、より長くなります)。1cm
- CSS の
- 「知覚的な寸法」の重要性
- これらの単位は「物理的絶対値」ではなく、**「知覚的な大きさ」**を基準としています。
- 例:
はスマートフォン、ノート PC、テレビといった異なる画面サイズであっても、通常の視聴距離からは概ね同じ視認性を持ちます。16px
テキストベースサイトでの幅設定戦略
-
デザインの目的
- 本ブログはテキスト中心であり、平均的な人間にとって読みやすいテキストの幅を実現することを重視しています。
- 画面全体(
)を基準にするのではなく、文字幅を基準とした100%
単位を採用しています。ch
-
実装例:コンテンツ幅の定義
は厳密には「1 つの文字」を表すものではありませんが、テキストベースのサイトでは十分機能します。ch
:root { --width-content: min(75ch, 100%); } main { max-width: var(--width-content); }
余白(Padding/Margin)の単位選択
- 水平方向:
の活用ch- 左右の余白も内部テキストに対して比例関係を持たせたい意図があります。
- テキスト幅との関連性から、水平方向の間隔設定にも
を再利用するのが理に適っています。ch
- 垂直方向:
の活用ex- 高さは垂直距離を表すため、文字幅を基準とする
はふさわしくない場合があります。ch - その代わりに、小文字の平均高さを表す
単位を用いるのが適切です。ex
- 高さは垂直距離を表すため、文字幅を基準とする
単位の使いすぎと個人の好みに基づく設計
- 方針の限界
- 「HTML から CSS クラスを全て削除」する着想と同様、全単位を
に変えるアプローチは行き過ぎである可能性があります。ch - すべての
を強制的にpx
に置き換える必要はありません。ch
- 「HTML から CSS クラスを全て削除」する着想と同様、全単位を
- 検証と選択
- 現在の実践は「機能するか」を試験的に検証している段階です。
を使用することや、他の測定単位を用いることは、非道徳でも悪意ある行為でもありません。px
- 結論
やch
の採用は、単なる個人的な傾倒や好みの問題に過ぎません。ex