Mein Verständnis beim Lesen von Threads wie diesem ist, dass der springende Punkt darin besteht, alle Maße auf Ihrer Webseite durch die Basisschriftgröße zu definieren , die von Ihrem Browser festgelegt werden kann.
In Chrome können Sie dies beispielsweise tun, indem Sie gehen settings -> show advanced settings -> web content -> font size: very large
. Ich könnte dies tun, wenn ich einen großen, hochauflösenden Monitor benutze, der weit weg ist.
Ich habe einen Plunker erstellt , der den Unterschied zwischen ems und px in der Größe demonstriert.
#div1 {
width: 320px
}
#div2 {
width: 20em;
}
Wenn ich in meinem Browser die Schriftgröße auf Mittel einstelle, haben diese Divs die gleiche Größe, wobei die Grundschriftgröße 16px beträgt, also 20em = 320px.
Wenn ich jedoch die Schriftgröße meines Browsers auf sehr groß ändere, können wir feststellen, dass der in ems gemessene Div größer geworden ist.
Dieser Effekt wird jedoch negiert, wenn ich zum Beispiel die Schriftgröße im Body-Tag definiere.
body {
font-size: 16px;
}
Denn jetzt überschreibt mein CSS die vom Browser festgelegte Schriftgröße.
Ich verstehe, dass ems in den Tagen älterer Browser wichtig gewesen wäre, in denen das Zoomen auf der Seite nur Schriftarten vergrößerte. Aber heutzutage skalieren moderne Browser sowohl Pixel als auch Schriftarten, was das Zoomproblem in Frage stellt.
Suchen Sie rund um die Web - eine Vielzahl von Websites zu tun Set Schriftgröße in ihrem Körper - Tag.
Der Stapelüberlauf legt beispielsweise die Schriftgröße im Body-Tag auf 13px fest. Das Einstellen der Schriftgröße in meinem Browser hat keinerlei Einfluss auf das Layout des Stapelüberlaufs.
Google-Suchergebnisse tun dies nicht.
(Diese beiden Screenshots wurden mit einer sehr großen Chrome-Schriftgröße und einem Zoom von 100% aufgenommen.)
Vielleicht könnten Sie argumentieren, dass das Festlegen der Schriftgröße im Body-Tag eine schlechte Idee ist, da dadurch die eigenen Einstellungen für die Barrierefreiheit eines Benutzers verhindert werden. Da der Benutzer jedoch zoomen kann, um die Größe zu erhöhen (wodurch auch alle Pixel proportional vergrößert werden), scheint dies kein wirkliches Problem zu sein.
body { font-size: XYZ; }
Verwendung eines Benutzer-Stylesheets mitbody { font-size: ZYX !important; }