• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Schriftgröße per Funktionsaufruf verändern

robert1967

New member
Guten Tag,

ich hab einen Frage zur vom Anwender gesteuerten Vergrößerung bzw. Verkleinerung der Schriftgröße:

Ich hab ein Seite, bei der im CSS die Schriftgrößen in "%" angelegt sind.

Dann funktioniert die folgende Funktion:

HTML:
function small()
{
document.all.DynText1.style.fontSize = "70%";
}

Der Text, der zwischen dem <div id="DynText1"> Text </div>
wir um 70% verklienert.

Wenn ich die Schriftgröße im CSS aber in "rem" anlege, funktioniert die Funktion nicht.

Auch das tauchen vom % zu rem in der Funktion, hat keinen Erfolg:

HTML:
function small()
{
document.all.DynText1.style.fontSize = "0.7rem";
}

Hat jemand dazu einen Tipp?

Besten Dank.
 
Zuletzt bearbeitet von einem Moderator:
Kannst du uns mal ein Minimalbeispiel machen, wo wir das Problem live ansehen können. Warum du keine Änderung der Schriftgröße festellen kann, kann an vielen Dingen liegen. Prinzipiell kann man aber sagen, dass % und rem zwei unterschiedliche Konzepte sind und nicht direkt ineinander überführt werden können.

PS: document.all solltest du nicht verwenden. Verwende statt dessen document.getElementById().
PPS: Warum willst du überhaupt von % weg?
 
Dein Problem ist, dass du bis ganz nach unten zum letzten Element rem als Einheit für die Schriftgröße verwendest. Dudurch hast du natürlich keinerleit Abhängigkeiten von irgendwelchen Zwischenelementen - in deinem Fall das DynText1-DIV.
Genau dafür wurde ja rem entwickelt, dass man die Schriftgröße in Abhängigkeit von der Schriftgröße des Rootelements und von sonst nichts angeben kann. Für deinen Fall musst du also bei allen Elementen unterhalb des DynText1-DIVs em- oder %-Angaben verwenden.
 
Ich würde nur ungern auf rem durchgängig verzichten. Kann ein Anwender via click button ein css mit kleiner eingestellten Schriftgrößen laden, dass dann auch gleichzeitig aktualisert wird?
 
Du kannst ein Stylesheet per JS de-/aktivieren, aber ich verstehe nicht ganz, warum du unbedingt durchgängig rem verwenden willst, wenn du es eigentlich nicht verwenden willst (da du die Schriftgröße auf einer bestimmten Ebene skalieren können möchtest)...
 
Zurück
Oben