Loon3y
Neues Mitglied
font-size :100.01% soll wohl gegen einen uralten 0pera-Bug helfen.
Die Version war meine ich kostenpflichtig (alternativ mit Werbung).
Sagen wir es mal so: falsch ist es nicht.
Ich meine aber auch mal gelesen zu haben, dass neben dem opera6 auch der IE und safari eine Art "Rechenproblem" haben, wenn man font-size:100% nimmt.
Simply put, IE for Windows' relative font size inheritance cascade is broken. The simplest workaround is to not use relative sizes, such as using keywords instead, except on base level containers. If you find it necessary to size through cascade, you'll find % works more reliably than ems. If you prefer using ems to %, then at least set the initial size using % instead, thus: html {font-size: 100.01%;} or body {font-size: 100.01%;} . This eliminates most size inheritance errors. Using 100.01% instead of 100% avoids size inheritance bugs in some ancient versions of Opera.
So einfach ist das nicht. Das Ergebniss hängt u.a. auch von der Schriftgrösse des Elternelementes ab.
Ist ja auch logisch ist:
(div -> 1em = 16px)
div -> 2em = 32px
(ul -> 1em = 32px)
ul -> 2em = 64px
(li -> 1em = 64px)
li -> 2em = 128px
Ja, deswegen habe ich auch geschrieben, dass ich dem Elternelement niemals eine andere Schriftgröße gebe, sondern dann letzenendes, wie in deinem Beispiel, dem <li>. Der Tag <strong> müsste in keinen von mir bekannten Browsern ein hasLayout in Bezug auf Schriftgröße haben. (Für Personen die nicht wissen, was hasLayout ist, das sind vordefinierte Werte von Browsern für Tags, wie z.B. die Überschriften <hx> bei keiner angegeben Schriftgröße in den Browsern verschieden aussehen)
Die schreibeweise mit dem Slash bei font ist so gewählt, da dies "deutlich" die Größe der CSS-Datei verkleinert. Es ist einfach einmal font: ....; zu schreiben, statt font-size:..; font-family:...; line-height:...; ... . Aber das ist jedem selbst überlassen wie er es macht. Meiner Meinung nach sollte man solche Mittel nutzen wenn sie etwa die Dateigröße verringern.
Ebenso wie man alles in background schreiben kann oder alles einzeln mit background-image, background-position, background-attachment, background-color, ....
16px ist einfach die häufige Standardeinstellung in den Browsern, die die meisten Benutzer nicht verändern, mehr nicht.
Davon geht auch mein Beispiel aus. Bzw. ich. Da die meisten User dumme User sind und sich nicht mit ihren PC auskennen, verstellen sie natürlich auch nichts.
Würde man jetzt nun davon ausgehen das standartmäßig 16px eingestellt sind, dann würde dies bedeuten dass:
16px -> 1.00em und
12px -> 0.75em sind. (75% von 16px)
Würde man nun schon per CSS mit 0.75em (statt 1em) arbeiten und jemand kommt mit einer Voreinstellung von 12px (statt 16px) an, dann würde das daraußfolgend auch heißen, dass:
1.00em -> 12px und
0.75em -> 9px sind.
Aufgrund unserer Festlegung in der CSS-Datei von 0.75em, bekommt der User dann darauffolgend die Seite mit einer Schriftgröße von 9px präsentiert.
Ich hoffe meine "Theorie" ist nicht falsch, aber vom logischen "Denken" her, sollte das so stimmen.
Aufjedenfall sollte man sich immer bewusst sein, das die Schriftgröße "em" vererbt wird. Wie im folgenden Beispiel zu sehen ist:
#over 1em (gehen wir mal davon aus das sind 16px)
ul 0.75em (das wären dann 12px)
li 1em (das wären 12px, weil das elternelement 12px hat)
li 1.333em (das wären 16px, da 12px * 1,333 = 16px sind)
li 0.75em ( das wären 9px, da 12px * 0.75 = 12px sind)
Also ist es immer besser dem Elternelement 1em (hier 16px) zu geben:
#over 1em
ul 1em
li 1em (16px)
li 1.333em ( ~21px)
li 0.75em (12px)
Grüßli
Loon3y
Zuletzt bearbeitet: