Einzelnen Beitrag anzeigen
  #14 (permalink)  
Alt 14.08.2006, 17:19
Benutzerbild von Siegfried
Siegfried Siegfried ist offline
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 11.08.2006
Beiträge: 465
Siegfried befindet sich auf einem aufstrebenden Ast
Standard auch Du, IE

Hi,

kleine Anmerkung: Auch im IE funzt das. Allerdings nicht so, wie im FF. Und die Unterschiede sind so, daß man da ganz schön reinfallen kann. Aber man kann es auch recht einfach umschiffen.

Also, bei CSS1 gab es diese Pseudoklassen nur für Links. Und es gab auch nur :active und :visited. So weit ich weiß, gab es insbesondere kein :hover. Nun ja, der IE mischt hier einfach CSS1 und CSS2 durcheinander. Er hat die CSS2-Pseudoklasse :hover auch implementiert, aber nach CSS1-Manier. Also nur für Links (Anker). Das bedeutet, daß Stylesheetangaben wie :hover oder a:hover exakt das Selbe sind für den IE.

Nun andere Browser: In CSS2 heißt es sinngemäß, daß alle diese Pseudoklassen für prinzipiell Alles gültig sind. Dabei wird dann die genaue Implementierung von z.B. :visited schlicht dem Browserhersteller überlassen. Also ein h1:visited ist gültig und korrekt, macht aber keinen Sinn. Ein h1:hover allerdings schon!

Und hier liegt der Unterschied. eine Stylesheet-Angabe von :hover bezieht sich im IE ausschließlich auf Links und wird genauso gehandhabt wie ein a:hover. Im Firefox gilt :hover jedoch für Alles, wo man mit der Maus drüberfahren kann! Wenn man hier also das Verhalten beider Browser angleichen will, sollte man auf :hover verzichten und stattdessen immer a:hover schreiben. Andere Elemente können mit XX:hover ebenfalls gestyled werden, aber der IE ignoriert das dann.

Insofern stimmt das also nicht so ganz, daß der IE das nicht kann
Mit Zitat antworten