このようなスレッドを読んで理解したことは、emsのポイントは、ブラウザで設定できるベースフォントサイズでWebページのすべての測定値を定義することだということです。
たとえば、Chromeではを実行してこれを行うことができますsettings -> show advanced settings -> web content -> font size: very large
。遠く離れた大型の高解像度モニターを使用している場合、これを行うことができます。
サイズ設定におけるemsとpxの違いを示すプランカーを作成しました。
#div1 {
width: 320px
}
#div2 {
width: 20em;
}
ブラウザでフォントサイズを中に設定すると、これらのdivは同じサイズになり、ベースフォントサイズは16pxになるため、20em = 320pxになります。
ただし、ブラウザのフォントサイズを非常に大きく変更すると、emsで測定されたdivのサイズが大きくなっていることがわかります。
ただし、たとえばbodyタグでフォントサイズを定義すると、この効果は無効になります。
body {
font-size: 16px;
}
なぜなら今、私のCSSはブラウザによって設定されたフォントサイズをオーバーライドしているからです。
ページをズームしてもフォントが拡大されるだけの古いブラウザの時代にはemが重要だったと思います。しかし、最近の最新のブラウザはピクセルとフォントの両方を拡大し、ズームの問題を解決していません。
Webを見回す-多くのWebサイトでは、bodyタグにフォントサイズを設定しています。
たとえば、スタックオーバーフローは、bodyタグでfont-sizeを13pxに設定します。ブラウザでフォントサイズを設定しても、スタックオーバーフローのレイアウトにはほとんど影響しません。
Google検索結果はこれを行いません。
(これらのスクリーンショットはいずれも、非常に大きいクロムフォントサイズに設定して、100%ズームで撮影したものです)。
したがって、bodyタグでフォントサイズを設定することは、ユーザー自身のアクセシビリティ設定を妨げるため、悪い考えだと考えることができます。しかし、ユーザーがサイズを大きくするためにズームできることを考えると(比例してすべてのピクセルも増加します)-これは本当の問題とは思えません。
body { font-size: XYZ; }
て、ユーザースタイルシートを使用してbody { font-size: ZYX !important; }