Aloha nochmal!
Ich habe immer gedacht, IE wäre der Browser, der die Standards am besten interpretiert. Hat sich das mit Netscape 6 und 7 geändert?
Der IE ist, was die Standards angeht, leider in vielen Belangen Schrott.
Außerdem: Er hat einen relativ fehlertoleranten HTML-Parser - das ist ein Plus für den normalen Anwender, weil Fehler in einer Seite immer mal vorkommen können, und der Anwender so immerhin noch was zu sehen bekommt. Aber für Entwickler ist das leider total unpassend, weil man so seine eigenen Fehler, die in anderen Browsern böse Ergebnisse verursachen, nicht sieht.
Meine Empfehlung: Mozilla und Opera sind strenger, was die Fehlerfreiheit des HTML-Codes angeht - also solltest du unbedingt damit testen und entwickeln. Außerdem ist Mozilla vermutlich der standardkonformste Browser (neben Opera, der auch sehr gut in dieser Sache ist), den es derzeit gibt. Der IE hat außer dem sehr lästigen width- und height-Bug, über den du auch gestolpert bist, diverse Dinge, die einen in den Wahnsinn treiben können.
In Opera6 verschiebt sich nichts. Es kommt aber auch kein Hover-Effekt. Aber wenn ich raten soll, würde ich sagen, die Verschiebung kommt durch die unterschiedlichen Rahmenbreiten im Normalzustand und bei :hover. Ein IMO durch dein Stylesheet vollkommen berechtigtes Verhalten.
Richtig. Bei manchen Linkzuständen war die Breite auf Standard gesetzt. Ich habe jetzt alles vereinheitlicht. Funktioniert.
Wenn sich die Rahmenbreite verändert, kannst du durch Padding die fehlende Breite ausgleichen, und der Text sollte sich nicht mehr verschieben.
Was da falsch läuft, erschließt sich mir auf den ersten Blick nicht.
Das ist aber auch zum verrückt werden. Da werde ich noch ein bißchen dran grübeln.
Tipps zur Lösung: Positionierung mal ändern, auch andere Positionierungen ändern, und gucken, wer da auf was Einfluß nimmt. Setze eine Hintergrundfarbe in die Layer, damit du siehst, wie groß sie sind und wo sie sich befinden.
Und wenn die verschobene Darstellung in allen Browsern gleichermaßen auftritt, positioniere einfach anders. :)
Wo kann man denn die Modi von IE einstellen? Ehrlich gesagt, davon habe ich noch nie gehört. Das steht auch nicht in Selfhtml, oder?
Nein, das steht noch nicht in Selfhtml.
Der IE (und übrigens auch Mozilla) werten die DOCTYPE-Angabe der Datei aus. Kein DOCTYPE -> Sloppy Mode (damit bestehende Seiten nicht auseinanderbrechen). Ein "richtiger" DOCTYPE -> Standards Mode (der immer anzustreben ist).
Eine Übersicht darüber, welcher Browser wann wie schaltet, kriegst du hier (z.B.): http://gutfeldt.ch/matthias/articles/doctypeswitch/table.html
- Sven Rautenberg