Lars Gusewski: Browserinterpretationen und Einbindungen

Hallo,

so langsam komme ich mit DOM zurecht, glaube ich zumindest. Doch nun gibt es einige Probleme, auch mit CSS:
So habe ich einmal das ganze zur Zeit als Tabelle mit fixer Breite eingegeben. Um diese mittig auszurichten habe ich die Tabelle in ein <div> Tag gepackt und das mit einer Klasse versehen, die den Inhalt mittig ausrichtet. Laut W3 Validator ist die externe CSS Datei korrekt, ebenso ist mein xthml Quelltext korrekt. Jedoch stellen Opera 6.05 und Netscape 7.0 pre1 die Tabelle linksbündig da, der IE 6.0 jedoch wie gewünscht mittig. Sind die beiden ersten Browser also falsch programmiert (gerade Gecko soll doch so toll W3 konform sein?).
Dann geht es aber schon weiter. Die Links sind zur Zeit einfach per CSS mit einem Hover Effekt versehen. Opera stellt ihn immer da, auch wenn ich einen Link bereits besucht habe. Der IE nur solange man einen Link noch nicht angeklickt hat, und Netscape verzichtet gleich ganz auf den Effekt. Und nu'?
Gut, und die letzte Frage wäre folgende. Mein gewünschtes Menü werde ich jetzt wohl hinbekommen, jedoch nimmt der dazugehörige Quellcode am Anfang schon einen recht grossen Umfang ein und müsste in jede weitere Datei kopiert werden, bzw. dort noch Pfadmässig angepasst werden. Auf Frames habe ich erst mal verzichtet, jedoch überlege ich ob es in diesem Fall nicht doch sinnvoller wäre auf zwei Frames zu setzen (oben Menü, unten Inhalt) um auch die Erweiterbarkeit der Seite zu vereinfachen und die Ladegrössen klein zu halten. Eine Möglichkeit, ohne das ein Webserver per PHP oder ähnlichem Webseiten zusammenbastelt, einen bestimmten HTML Quelltext dazuzuladen, ähnlich Javascripten oder CSS Definitionen, und diesen an einer bestimmten Stelle einzufügen gibt es wohl nicht, oder? O:-)

Gruss, Lars

  1. hi

    Jedoch stellen Opera 6.05 und Netscape 7.0 pre1 die Tabelle linksbündig da, der IE 6.0 jedoch wie gewünscht mittig.

    text-align:center; -> textinhalte innerhalb der Elemente zentieren.
    margin-left:auto; margin-right:auto; -> Das (block) Element selbst zentrieren.

    Dann geht es aber schon weiter. Die Links sind zur Zeit einfach per CSS mit einem Hover Effekt versehen. Opera stellt ihn immer da, auch wenn ich einen Link bereits besucht habe. Der IE nur solange man einen Link noch nicht angeklickt hat, und Netscape verzichtet gleich ganz auf den Effekt. Und nu'?

    poste mal die besagtse Style-Regel....
    Netscape 7 meinst du auch weiterhin, oder..?

    Grüße aus Bleckede

    Kai

    1. Hi,

      text-align:center; -> textinhalte innerhalb der Elemente zentieren.
      margin-left:auto; margin-right:auto; -> Das (block) Element selbst zentrieren.

      auch Dir danke, passt jetzt soweit.

      poste mal die besagtse Style-Regel....
      Netscape 7 meinst du auch weiterhin, oder..?

      Ja, aber der rafft das weiterhin nicht. Egal, ist eh ein Auslaufmodell, auch wenn ich ihn immer noch zum Mailen nehme. :-)

      Gruss, Lars

  2. Hi Lars,

    So habe ich einmal das ganze zur Zeit als Tabelle mit fixer Breite eingegeben. Um diese mittig auszurichten habe ich die Tabelle in ein <div> Tag gepackt und das mit einer Klasse versehen, die den Inhalt mittig ausrichtet.

    text-align:center ist falsch, margin-left:auto / margin-right:auto wäre korrekt.

    Jedoch stellen Opera 6.05 und Netscape 7.0 pre1 die Tabelle linksbündig da, der IE 6.0 jedoch wie gewünscht mittig. Sind die beiden ersten Browser also falsch programmiert?

    Nein. Wenn Mozilla etwas anzeigt, dann korrekt. Ebenso Opera. Manchmal gibt es Unterschiede, doch wenn sich beide einig sind, ist die Sache klar.

    Dann geht es aber schon weiter. Die Links sind zur Zeit einfach per CSS mit einem Hover Effekt versehen. Opera stellt ihn immer da, auch wenn ich einen Link bereits besucht habe. Der IE nur solange man einen Link noch nicht angeklickt hat, und Netscape verzichtet gleich ganz auf den Effekt. Und nu'?

    Stimmt die Reihenfolge der Pseudoformate?

    http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus

    Gut, und die letzte Frage wäre folgende. Mein gewünschtes Menü werde ich jetzt wohl hinbekommen, jedoch nimmt der dazugehörige Quellcode am Anfang schon einen recht grossen Umfang ein und müsste in jede weitere Datei kopiert werden, bzw. dort noch Pfadmässig angepasst werden.

    Lagere den JS-Code in eine externe Datei aus, binde diese auf allen Seiten im HEAD ein und starte im BODY mit "onload" die Funktion, die dass Menü aufbaut.

    Auf Frames habe ich erst mal verzichtet, jedoch überlege ich ob es in diesem Fall nicht doch sinnvoller wäre auf zwei Frames zu setzen (oben Menü, unten Inhalt) um auch die Erweiterbarkeit der Seite zu vereinfachen und die Ladegrössen klein zu halten.

    Einmal muss alles geladen werden, ausgelagerte Dateien (.js/.css usw.) befinden sich dann im Cache und werden in der Regel auch wieder von dort geladen. Dauert das erstmalige Laden sehr lang, ist die Seite zu groß...

    LG Orlando

    1. Hi Lars,

      Nein. Wenn Mozilla etwas anzeigt, dann korrekt. Ebenso Opera. Manchmal gibt es Unterschiede, doch wenn sich beide einig sind, ist die Sache klar.

      also erst mal Danke, margin hat tatsächlich geholfen. Aber was Mozilla angeht teile ich Deine Meinung nicht. Die Pseudoformate habe ich nach dem unten genannten Link umsortiert, jetzt geht es auch im IE, bei Opera sowieso schon immer. Bei Mozilla habe ich aber tolle Effekte das nun ganze Textblöcke auf einmal reagieren. _Das_ ist spassig, aber nicht korrekt. Aber damit hatte NS ja wohl schon immer Probleme.

      http://selfhtml.teamone.de/css/eigenschaften/pseudoformate.htm#link_visited_hover_active_focus

      Gruss, Lars