Problem zwischen Mozilla und I.E.
Hanno
- css
0 Sönke Tesch0 Hanno0 Sönke Tesch0 Hanno0 Sönke Tesch0 Hanno0 Sönke Tesch0 Hanno
0 Tim Tepaße
Hiho
Ich habe folgende Seite:
http://www.hanno-becker.de/hover_effekte_teil_3.php
Ganz unten will ich das Beispiel demonstrieren, doch
leider macht der im IE die Links viel viel zu hoch.
Im Mozilla macht er es richtig.
Den Code steht ihr ja selber.
Gruß
Hanno
Ganz unten will ich das Beispiel demonstrieren, doch
leider macht der im IE die Links viel viel zu hoch.
Im Mozilla macht er es richtig.
Ich wäre mir da garnicht mal so sicher, ob der IE es falsch macht und Mozilla richtig. Mit visibility:hidden erreichst Du lediglich, daß ein Element unsichtbar (besser: durchsichtig) ist, es beeinflußt aber immernoch das Layout. Mit position:relative wird das Element da reingerechnet, wo es normalerweise wäre, und anschließend verschoben.
Von daher ist es erstmal kein Wunder, daß die <a>s so groß sind, daß die Info-<div>s mit reinpassen, und daß der Platz für die Info-<div>s unter dem <a>-Text reserviert ist.
Was mich aber stört: Ich möchte meinen, daß <div> innerhalb von <a> garnicht erlaubt ist, den <a> ist ein inline-Element, <div> ein Blockelement, und Blockelemente haben in inline-Elementen nichts zu suchen. Asche auf mein Haupt, wenn das falsch ist (mit der Spezifikationsyntax habe ich so meine Schwierigkeiten), ist es aber richtig, solltest Du Dich nicht über unterschiedliches Layout wundern, sondern erstmal korrektes HTML fabrizieren.
Gruß,
soenk.e
Hmmm du hattest Recht :(
Und ich dachte man könne damit nen schicken effekt machen
Hmmm du hattest Recht :(
Und ich dachte man könne damit nen schicken effekt machen
visibility:hidden ließe sich durch display:none ersetzen, das <div> durch <span>, problematisch ist die Positionsangabe. Vielleicht kann man da was mit position:absolute + Positionsangabe beim <span> und position:relative (ohne Positionsangabe) beim <a> zaubern, es kann aber auch sein, daß man wirklich auf Javascript zurückgreifen muß.
Gruß,
soenk.e
Ich wollte es gerade mit absolute machen, doch da viel mir auf,
das Mozilla und IE eine weitere Sache anders darstellen: den Code. Beim IE ist der viel weiter auseinandergerückt als beim Mozilla.
Kannst du mir sagen warum ?
DAs Skript was den Code einrückt ist auch einfach zu erreichen
http://www.Hanno-Becker.de/etc/code_lightner.php
Gruß
Hanno
Ich wollte es gerade mit absolute machen, doch da viel mir auf,
das Mozilla und IE eine weitere Sache anders darstellen: den Code. Beim IE ist der viel weiter auseinandergerückt als beim Mozilla.
Kannst du mir sagen warum ?
Du hast die Seite schon vom Netz genommen, insofern weiß ich nicht, was Du mit "viel weiter" meinst. Ein paar Pixel Unterschied können in jedem Fall vorkommen und sollten wirklich kein Problem darstellen - ein "fließendes" Layout gehört nunmal zu HTML.
Der einzig wirkliche Unterschied ist, daß Mozilla leere Listenelemente (<li></li>) im Gegensatz zum IE nicht oder nur sehr klein darstellt. Pack' ein Leerzeichen oder ein rein, dann sollte es funktionieren. Im vorliegenden Beispiel befürchte ich allerdings eher ein konzeptionelles Problem. Ich kann mir jedenfalls keinen sinnvollen Reim darauf machen, wo das <li></li> in
<ul><li></li><li><span><html></span>
herkommen soll, wenn im Quelltext das "<html>" in der ersten Zeile steht. Die einzige Erklärung wäre, daß das Skript auf dem IE entstanden ist und mit dem <li></li> ein optischer Abstand erzeugt werden soll - ein ganz böser faux-pas.
Gruß,
soenk.e
Hallo
Ich verstehe garnicht was du mit dem LI meinst ?
Erklär nochmal bitte.
Gruß
Hanno
Ich verstehe garnicht was du mit dem LI meinst ?
Erklär nochmal bitte.
Gib' in dem Formular, das Du genannt hast, etwa folgenden Text ein:
<html></body>
bla
</html></body>
Die Ausgabe lautet
<ul><li></li><li><span><html></span>[..]
^^^^^^^^^-<--------------<-+
|
Mit <li></li> meine ich das da >-+ Dieses Konstrukt ist dafür verantwortlich, daß im IE ein großer Abstand zwischen der Zeile "<html>" und der Zeile "<body>" erscheint:
<html>
<body>
bla
</body>
</html>
Mozilla zeigt <li></li> wesentlich kleiner oder garnicht an:
<html>
<body>
bla
</body>
</html>
Ich habe vermutet, daß Du dieses mit dem Problem "unterschiedliche Zeilenabstände im Code" meinst.
Da das <li></li> dort überhaupt keinen Sinn macht, weil zwischen <html> und <body> keinerlei Zeichen stehen, hatte ich ja erklärt.
Gruß,
soenk.e
Oh dann ist das ein Programmiefehler.
Ich werd mal suchen gehen und wenn ich ihn nicht finde einfach
einen Replace einsetzeb ;-)
Gruß
Hanno
Hallo Hanno,
Und ich dachte man könne damit nen schicken effekt machen
So wie hier? ;-)
http://www.meyerweb.com/eric/css/edge/popups/demo.html