Hi
die Lösung besteht darin, dass
<ul>text</ul> etwas anderes ist als <ul><li>text</text</ul>
Unter den hier anzutreffenden Umständen kommt es nämlich zu einem kollabieren von Abständen nach *unten*. Doch taucht dieser durch Kollaps entstanden Abstand nirgends als berechneter/ausgewiesener Abstand auf (Opera/Dragonfly; FF/"Dingens, na ihr wißt schon") weswegen ich mir nun stundenlang nen Wolf gesucht habe.
Gefunden habe ich dann, dass es eben nicht genügt die allgemein Vorgaben für das ul-Element zu überschreiben, sondern es müssen auch die Vorgaben für das li-Element überschrieben werden. Eigentlich selbstverständlich. Da jedoch der obere Rand des !leeren! ul-Elements nach unten zum li-Element kollabiert (weil letzteres einen nicht überschriebenen Abstand mitbringt) ist es nicht offensichtlich, das der nun vorhanden Abstand nicht durch das ul-Element erzeugt wird, sondern durch das untergeordnete li-Element.
Das sieht nach einem BUG in der DOM Darstellung aus. Wenn der Abstand zum div da ist, dann müsste das li-Element das ul-Element nach oben aufspannen. Und irgendwo müßte eine ererbter Abstand auftauchen. Aber alle oberen Margins und Paddings für das betreffende ul- und li Element werden mit "0" berechnet. Das ist definitiv falsch.
Kommentare?
bye
MH
war unregistriert "michaa"