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