Eine Möglichkeit, das Problem zu lösen, dass der Text sowohl auf dem Desktop als auch auf dem Mobilgerät/Tablet gut aussieht, besteht darin, die Schriftgröße auf physikalische Einheiten wie Zentimeter oder Zoll festzulegen, die nicht von der Bildschirm-PPI (Punkte pro Zoll) abhängen.
Basierend auf dieser Antwort ist unten der Code, den ich am Ende des HTML-Dokuments für eine responsive Schriftgröße verwende:
var devicePixelRatio = window.devicePixelRatio || 1;
dpi_x = document.getElementById('testdiv').offsetWidth * devicePixelRatio;
dpi_y = document.getElementById('testdiv').offsetHeight * devicePixelRatio;
function setFontSizeForClass(className, fontSize) {
var elms = document.getElementsByClassName(className);
for(var i=0; i<elms.length; i++) {
elms[i].style.fontSize = String(fontSize * dpi_y / 96) + "px";
}
}
setFontSizeForClass('h1-font-size', 30);
setFontSizeForClass('action-font-size', 20);
setFontSizeForClass('guideline-font-size', 25);
// etc for your different classes
In dem obigen Code werden den Elementen einer unterschiedlichen Klasse Schriftgrößen in physikalischen Einheiten zugewiesen, solange der Browser/das Betriebssystem richtig für die PPI seines Bildschirms konfiguriert ist.
Eine Schriftart in physikalischen Einheiten ist immer weder zu groß noch zu klein, solange der Abstand zum Bildschirm normal ist (Leseabstand für Bücher).