Um für alle (die wenigen) Browser, die schon alle 'display'-settings verstehen, möglichst standardkonform zu coden, hatte ich ein dreispaltiges Layout mit 'display:table-cell' realisiert. Natürlich brauchten IE und Safari andere Befehle, aber dies ist eine andere Geschichte und soll ein anderes Mal erzählt werden.
Eine der Unterseiten dieses dreispaltigen Layouts sollte mehrere Formularfelder tragen - unter anderem ein ganz normales Select/Options Menü mit einigen Auswahl-Möglichkeiten. Es sollte in der mittleren Spalte seinen Platz finden. Rechts davon befindet sich normalerweise das Menü. 'Normalerweise', da die Inhalte der rechten Spalte ohne jedes erkennbare Muster beim Seitenaufbau im Browser zur Seite sprangen - immer beim Neuladen der Seite vom Server und sonst wirklich ohne jedes erkennbare Muster.
Wie ihr euch vorstellen könnt, hat mich dieser Fehler nicht in Ruhe gelassen. In stundenlanger Kleinarbeit habe ich HTML- und CSS-Code immer weiter vereinfacht, bis ich den Code am Ende auf die wahre Fehlerquelle reduzieren konnte: Innerhalb eines mehrspaltigen Layouts das mit 'display:table-cell;' ausgerichtet wurde, verursacht ein Select-Options Menü einen Clear auf der von ihm aus rechten Seite. Dieser Fehler ist mit keinem CSS-Befehl, der sich auf irgendwelche Teile des Formulars auswirkt, zu beheben. Das Formular kann gar keinen CSS-Code haben oder alles erhalten, was es aus dem normalen Dokumentenfluss herausheben sollte: Der Fehler besteht trotzdem weiter. Der Knackpunkt ist tatsächlich das mehrspaltige Layout mit 'diplay:table-cell;'. Dies, kombiniert mit einem HTML-Formular mit Select-Options Menü produziert den Bug.
Ihr könnt euch vermutlich ausmalen, wie lange ich gebraucht habe bis ich das herausgefunden hatte - und wielange ich dannach versucht habe, es irgendwie zu fixen. Leider hatte ich keine Glück. Die einzige Lösung ist nun, Alternativen zum Select-Options Menü zu nutzen. Verrückter Fehler.
Geschrieben am 09.08.2006




Für die Neugierigen: Seit der Implementierung der Botquestion-Funktion in meinem CMS BeautifyWeb und damit auch diesem Blog ist kein einziger...
- Tobias