Neue Schriftgröße allen Klassen zuweisen
Franz
- javascript
0 Cheatah0 Patrick Andrieu
0 Cybaer
Hallo,
ich hab eine Javascript-Funktion geschrieben, welche es erlaubt über 2 Buttons font-size des Bodys um 2px Schritten zu erhöhen bzw. zu verringern.
Das Problem ist jetzt, dass innerhalb des Bodys sich z.B. th-Elemente befinden welche über ein Stylesheet gesondert eine Schriftgröße zugewiesen bekommen.
Wenn Ich jetzt einen der Buttons drücke ändert sich die Schriftgröße eben bis auf die elemente Welche seperat eine zugewiesen bekommen.
Meine FragE:
Wie ist es möglich fpr allen CSS-Klassen auf der Seite, welche über eine eigene font-size-Definition verfügen, die Schriftgröße um je z.B. 2px zu erhöhen?
Gibt es eine Möglichkeit in JS eine Liste aller CSS-Klassen zu bekommen von der akt. Seite?
Grüße Franz
Hi,
Wie ist es möglich fpr allen CSS-Klassen auf der Seite, welche über eine eigene font-size-Definition verfügen, die Schriftgröße um je z.B. 2px zu erhöhen?
arbeite *nicht* mit der Einheit px, sondern mit em oder %.
Gibt es eine Möglichkeit in JS eine Liste aller CSS-Klassen zu bekommen von der akt. Seite?
Nein, zumal es sowas wie "CSS-Klassen" nicht gibt. Du kannst zwar die CSS-Regeln auslesen und verändern, aber das ist sehr umständlich im Vergleich dazu, alles durch relative Einheiten dem Browser zu überlassen.
Cheatah
Hallo Franz!
Das Problem ist jetzt, dass innerhalb des Bodys sich z.B. th-Elemente befinden welche über ein Stylesheet gesondert eine Schriftgröße zugewiesen bekommen.
Schau, ob Du aus diesem Beispiel etwas gewinnen kannst: Ainsi font font font.
Alternativ kannst Du schauen, wie es auf x-beliebige Seite von mir geregelt ist (ist aber älter, und ich bevorzuge das andere Beispiel).
Viele Grüße aus Frankfurt/Main,
Patrick
Hi,
Wie ist es möglich fpr allen CSS-Klassen auf der Seite, welche über eine eigene font-size-Definition verfügen, die Schriftgröße um je z.B. 2px zu erhöhen?
Alle CSS-Regeln durchgehen (die sind in document.styleSheets mit rules() (IE) bzw. cssRules() (Standardbrowser) ansprechbar, nach font-size suchen und bei Bedarf ändern.
Browserübergreifende Helferfunktion: cssRule()
Mit cssRule("0/0","ownermarkup") kann man sich z.B. den HTML-Code des 1. Stylesheets auf einen Schlag holen (also das STYLE-Element inkl. dem CSS-Code darin). Oder mit cssRule("0/0","rulecollection") bekommt man browserübergreifend eine Collection aller Regeln des Sheet:
for(i=0;i<cssRule("0/0","rulecollection").length;i++) {
alert("Regel "+i+": Selektor :"+cssRule("0/"+i,"ruleobject").selectorText)+" / CSS-Text: "+cssRule("0/"+i));
}
Gruß, Cybaer