Axel Richter: Opera 9 buggy bei position:absolute/relative/absolute

Beitrag lesen

Hallo,

Warum positioniert Opera 9 das ul-Element mit der ID topics nicht genau unterhalb des zugehören (Eltern-)Listenelements?

Das Problem resultiert aus dem display:inline für #breadcrumb li. Operas rendering engine kommt da so durcheinander, dass margin-top von #breadcrumb einen vertikalen Abstand zwischen #breadcrumb li und dem absolut darin positionierten #topics erzeugt, weil es sich zu top:1.2em für #topics addiert. Außerdem erzeugt padding-left von #breadcrumb li eine horizontale Verschiebung von #topics nach rechts, trotz left:0; für #topics, weil es sich zu left:0 von #breadcrumb addiert.

Workaround:

  
...  
#breadcrumb { position:absolute; top:0; left:-.5em; margin-top:0; }  
...  

Für den IE6 muss außerdem noch margin-left von #topics auf 0 gesetzt werden.

Wegen der unterschiedlichen defaults für margin und padding setze ich immer

  
html, html * { margin:0; padding:0; }

um dann einzelnen Elementen explizit andere Werte zuzuweisen.

Was spricht eigentlich dagegen, float:left für die #breadcrumb li zu verwenden statt display inline?

viele Grüße

Axel