Sven Rautenberg: Darstellung in verschiedenen Browsern

Beitrag lesen

Moin!

Uff, soooo viel Text. Und vermutlich nicht gerade einfach. Egal, ich arbeite mich mal durch... :)

  1. Innerhalb der <p class="failed"> kann es vorkommen, daß ich eine Zusatz-
       angabe brauche. Diese will ich dann in einer dritten Farbe haben und
       - das ist wichtig - nicht unterstrichen. Dazu füge ich in das
           <p class="failed">...[*]</p>
       an der [*]_position ein
           <span class="retreat">...</span>
       ein.
       Die Farbe (rot) klappt tadellos - aber das Unterstreichen läßt sich
       nicht zurücknehmen, der eingefügte Text bleibt unterstrichen.

Ich vermute mal, das ist das kaskadierende der Stylesheets. Denn es passiert folgendes:
Der Browser hat Text in einer Tabellenzelle der Klasse 'orders'. Also werden diese Formatierungen für den Text genommen. Dann ist es ein P der Klasse 'failed' (lila Schrift, unterstrichen) - wird hinzugefügt. Und ein einzelnes Wort ist mit SPAN der Klasse 'retreat' ausgezeichnet. Da soll die Schrift rot, und ein Unterstreichen ist nicht notwendig. Also bleibt die unterstrichene Farbe vom P. :)

Kann auch sein, daß das ein Browser-Bug ist.

Ich würd mal folgende Zeile im CSS versuchen:
p.failed span.retreat    { color:#FF0000; text-decoration:none;}

Das formatiert den span in Abhängigkeit vom P, nicht frei. Könnte helfen. Wenn nicht, ist es vermutlich ein Bug oder eine andersartige Interpretation der CSS-Standards.

  1. Mozilla macht als zusätzlichen Schnörkel oberhalb meines ersten <p>
       innerhalb einer Tabellenzeile eine Zeile Abstand; M$IE und Opera 6
       tun das nicht. Ich will es auch nicht. (Wie) kann ich das abstellen?

Kein P nehmen (das Tag hat unterschiedliche Default-Formatierungen), sondern DIV (das keine Formatierungen hat).

  1. Was genau ist der Sinn der entsprechenden CSS-Warnings?
           (http://jigsaw.w3.org/css-validator/validator?uri=http://www.schroepl.net/pbm/partien/yield/_1906_f/militaer.htm)
       Ich möchte in vielen Fällen einfach keine Hintergrundfarbe definieren
       - warum sollte ich? (Die Warnings will ich natürlich weg haben, aber
       die Optik meiner Seiten dafür auch nicht verändern.)

Definiere background:transparent. Ist identisch mit "nix definieren", funktioniert aber sogar mit Netscape 4 (welcher mit "background:inherit" so seine Probleme hat. Bei mir war das Resultat kein "geerbter" Hintergrund, sondern ein grüner!).

Und warum werde ich für jede einzelne Über-Definition gewarnt?

Neue Vordergrundfarbe kann bei unpassender Hintergrundfarbe unsichtbar werden - so wie die Friesische Nationalflagge: Weißer Adler auf Weißem Grund. Die Warnung kommt deshalb bei jeder Definition, bei der du vergessen haben könntest, was für eine Hintergrundfarbe gerade aktiv ist. Mit der Transparent-Definition gibst du zumindest an, daß du weißt, was du tust, und die Warnung entfällt.

  1. Netscape 4 bricht bei den beschriebenen Elementen ziemlich auseinander.
       Ich kann damit leben, daß es mit dem Communicator einfach nicht mehr
       funktioniert; sollte jemand Vorschläge haben, was ich verbessern könnte,
       um es ihm irgendwie wenigstens ein bißchen leichter zu machen, höre ich
       mir diese gerne an. Aber CSS sollte es eigentlich schon sein.

Tja, dazu sollte es erstmal in anderen Browsern funktionieren. :) Ansonsten ist NS4 wirklich nix, wenn man CSS ausreizen will.

- Sven Rautenberg

PS (darf ich ja auch, wenn du durftest): Vermutlich ist dein Problem so komplex (zumindest komplex beschrieben), daß du erstmal einen Schritt zurückgehen solltest (mental), und eventuell nochmal einen neuen Ansatz wagen. :)