PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : body-tag - css - font-size



Qudus
07-09-2005, 18:16
hi

Laut selfhtml soll eine font-size Angabe für den body- oder html-tag für jedes Element im HTML-Dokument gelten. Das scheint aber nicht zu stimmen. Schon ab einer geringen Verschachtelungstiefe, vergisst der Browser diese Angabe, während die Schrift-Farbe wunderbar vererbt wird.

Kennt dieses Problem jemand? Hat dafür jemand eine Lösung?

Qudus

PS: Ich benutze den Firefox. Im Konqueror ist es dasselbe und mein Bruder sagt, es wär im IE genau das gleiche.

Pingu
07-09-2005, 19:55
Wirklich?

Nicht da unvermuteter Weise eine andere Regel hinzu kommt.

Im Firefox kann man das sehr gut über den DOM-Inspector kontrollieren. Denn da kann man sich anzeigen lassen welche Regeln in welcher Reihenfolge gelten.

Pingu

Romanday
08-09-2005, 06:14
hi
PS: Ich benutze den Firefox. Im Konqueror ist es dasselbe und mein Bruder sagt, es wär im IE genau das gleiche.

Erstell mal einen CSS Tag für td (Schriftfarbe, Größe usw.)
für deine "Verschachtelungen".:D
Dann sollte es besser funktionieren.

Qudus
08-09-2005, 18:08
Erstell mal einen CSS Tag für td (Schriftfarbe, Größe usw.)
für deine "Verschachtelungen".:D
Dann sollte es besser funktionieren.

Danke für den Tip. Aber das ist ja genau das, was ich vermeiden will. Ich habe es bisher über eine globale CSS-Regel für font-Elemente gelöst. Das funktioniert auch soweit erstmal. Das Problem dabei ist nur, wenn ich relative font-größen wie "larger" oder "smaller" verwenden will muss ich konstrukte machen wie



<font>
<font style="font-size: larger;">
bla
</font>
</font>


damit "larger" sich auch auf die richtige Größe (sprich auf das extra font-Element) bezieht. Auch wenn ich es mit der globalen Regel für td-Elemente mache, muss ich ja immer eine Tabelle um jeden Text legen, den ich so formatiert haben will, wie global definiert. Das ist sicherlich häufig overkill.



Im Firefox kann man das sehr gut über den DOM-Inspector kontrollieren. Denn da kann man sich anzeigen lassen welche Regeln in welcher Reihenfolge gelten.


Leider stimmt das nicht so ganz in diesem Fall. Man kann sich zwar anzeigen lassen, welche Regeln in welcher Reihenfolge für einen bestimmten tag-Namen definiert wurden, allerdings müsste ich in diesem Fall ja die CSS-Regeln für den Text selbst an einer bestimmten Stelle im Dokument auslesen können. Und das gibt der DOM-Inspector leider nicht her, wenn ich mich nicht irre.

Ich habe mal ein kleines Beispiel vorbereitet, an dem ihr mein Problem erkennen können müsstet:



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>
<style type="text/css">
body
{
font-size: x-large;
color: green;
}

.smaller
{
font-size: smaller;
}

.larger
{
font-size: larger;
}
</style>
</head>

<body>
erwartungsgemäß "x-large"<br/>

<font class="smaller">eine Nummer kleiner als "x-large"</font><br/>

<div>
ist auch noch "x-large"<br/>

<font class="smaller">auch noch korrekt: eine Nummer kleiner als "x-large"</font><br/>
</div>

<table>
<tr>
<td>
falsch! das hier sollte auch "x-large" sein.<br/>

<font class="larger">auch falsch! das sollte noch eine Nummer größer sein als "x-large".</font><br/>
</td>
</tr>
</table><br/>
<body>

</html>


gruß,

Qudus

Edit:
Im Übrigen werden alle anderen Eigenschaften, so weit ich es überblicke, korrekt wir im Standard angegeben vererbt. Wenn man also mein Beispiel folgendermaßen modifiziert, werden alle Texte grün:



...
body
{
font-size: x-large;
color: green;
}
...

Pingu
08-09-2005, 19:19
Im Firefox kann man das sehr gut über den DOM-Inspector kontrollieren. Denn da kann man sich anzeigen lassen welche Regeln in welcher Reihenfolge gelten.
Leider stimmt das nicht so ganz in diesem Fall. Man kann sich zwar anzeigen lassen, welche Regeln in welcher Reihenfolge für einen bestimmten tag-Namen definiert wurden, allerdings müsste ich in diesem Fall ja die CSS-Regeln für den Text selbst an einer bestimmten Stelle im Dokument auslesen können. Und das gibt der DOM-Inspector leider nicht her, wenn ich mich nicht irre.
Jaein. Für den Text nicht. Aber man kann es sich für das umschließende Tag ansehen. Diese Eigenschaften gelten dann auch für den Text.

Ich habe das für Dein Beispiel gemacht und bin bei der Tabelle auf folgendes gestossen:
table - resource://gre/res/quirk.css - Zeile 101
font-size: initial
Kurz gesagt, da wird die Font-size wieder auf den Initialwert des Browsers zurück gesetzt.

Was das W3 dazu sagt, kann ich nicht sagen. Da es mir gerade zu komliziert ist, die richtige Stelle zu finden.

Pingu

Romanday
08-09-2005, 19:38
Wenn gar nichts hilft, einfach mal anschauen wie andere das machen.
z. B.

http://www.spiegel.de/
http://www.ftd.de/

An einigen Stellen arbeiten die sogar ohne
CSS um Browser kompatibel zu sein.

Qudus
08-09-2005, 21:37
Also beim Spiegel sind die Schriftgrößen fest in Klassen angegeben



.bla
{
font-size: 12px;
}


Bei ftd.de habe ich gar nicht gefunden, wo da eine Schriftgröße eingestellt wird.



Kurz gesagt, da wird die Font-size wieder auf den Initialwert des Browsers zurück gesetzt.


Naja, das war ja offensichtlich.



Was das W3 dazu sagt, kann ich nicht sagen. Da es mir gerade zu komliziert ist, die richtige Stelle zu finden.


Ja, also die Seiten vom W3C sind wirklich total beschissen. Da findet man gar nichts.

Hmm... was sag ich da? Ich habe mich da gerade mal umgesehen und die haben sich wirklich sehr stark verbessert. Ich habe auch was gefunden, das das Problem zufriedenstellend löst. Füg mal folgendes in den style-Bereich ein:



font, a, div, span, p, table, thead, hbody, tfoot, td, tr, center
{
font-family: inherit;
font-size: inherit;
color: inherit;
}


Ich hab's zwar noch nicht im IE ausprobiert aber im Firefox und Konqueror funktioniert es optimal.

BlueJay
09-09-2005, 10:01
hi

Laut selfhtml soll eine font-size Angabe für den body- oder html-tag für jedes Element im HTML-Dokument gelten. Das scheint aber nicht zu stimmen. Schon ab einer geringen Verschachtelungstiefe, vergisst der Browser diese Angabe, während die Schrift-Farbe wunderbar vererbt wird.

Kennt dieses Problem jemand? Hat dafür jemand eine Lösung?


Ja, ist schon seit IE4 und NN4.x so.
NN "vergaß" oft und gerne auch die Textfarben, manchmal mitten im Textblock.
Abhilfe war, für jeden Furz die Schrift-Parameter nochmal angeben.

Zu CSS:
Auch hier gibt es Mozilla-Eigenheiten.
Wenn du einmal die Schriftgröße für body änderst (px, pt), musst du es gleich für td, h-dingsbums und jeden anderen Sch... mitmachen, sonst hast du im Gegensatz zu IE und Konqueror alles in der Body-Schrift.

so long,
BlueJay

Qudus
09-09-2005, 11:29
Ich hab's zwar noch nicht im IE ausprobiert aber im Firefox und Konqueror funktioniert es optimal.


Der scheißendreck IE kann das natürlich nicht! Wär ja auch zu schön gewesen. Er ignoriert diese Angaben einfach.
Ich hasse den IE! Und es ist mir einfach völlig schleierhaft, wieso den jeder Idiot benutzt.Dabei ist doch der Firefox mittlerweile (seit 1.0) so gut auch in der Installation geworden. Den kann wirklich jeder installieren und verwenden sowieso. Und er kann mehr, er ist standardkonform und er ist nicht von M$!
Benutzt den einer von Euch Jungs (und Mädels, möglicherweise) außer zum Testen oder wenn mal wieder einer meint, eine Seite ausschließlich auf die Bugs des IE abzustimmen und sie deshalb in keinem standardkonformen Browser mehr läuft?

Qudus
09-09-2005, 11:29
Ja, ist schon seit IE4 und NN4.x so.
NN "vergaß" oft und gerne auch die Textfarben, manchmal mitten im Textblock.
Abhilfe war, für jeden Furz die Schrift-Parameter nochmal angeben.
[QUOTE]

Naja, ich denke mal, durch diese dunklen Zeiten sind wir ja durch. Und wer eine meiner Seiten mit dem IE anguckt ist zwar zunächst mal selber schuld aber wenn er den 5er oder schlimmernoch den 4er benutzt, dann kann ich ihm auch nicht helfen.

[QUOTE=BlueJay]
...mitmachen, sonst hast du im Gegensatz zu IE und Konqueror alles in der Body-Schrift.

Das ist ja genau das, was ich will. Ich will eine globale Schriftarten- Einstellung vornehmen. Solange ich nichts anderes angebe, soll alles in der body-Schriftart (die ich natürlich selbst vorgeben will) dargestellt werden. Ein Problem, das ich zuvor in diesem Thread beschrieben habe ist allerdings, dass, wenn ich relative Schriftgrößen verwende, also solche, die sich auf ihr Parent-Element beziehen, der Weg, den Du zuletzt beschrieben hast, nicht funktioniert. Ich habe im Verlaufe dieses Threads ja auch schon erzählt, dass ich es bisher so gelöst habe, das aber verschiedene Nachteile mitsichbringt. Guckst Du hier (http://mrunix.de/forums/showpost.php?p=184189&postcount=4).

Aber versteh mich nicht falsch. Ich danke Dir trotzdem für Deine Antwort. Hilfe ist immer willkommen.

Gruß, Qudus