Hallo.
Im Prinzip stimme ich völlig mit dir überein. Aber zwei Punkte möchte ich so nicht stehen lassen:
wer internet explorer extra behandeln muss und dafür umfangreiche ausnahmen benötigt, macht etwas falsch - in deinem beispiel ist die ausnahme ein kompletter workaround im umfang des ursprungscodes - das ist aber imho zu viel
Wenn ich den IE berücksichtige, komme ich um umfangreiche Konstrukte gar nicht herum, eben weil der ursprüngliche Code weitgehend der reinen Lehre folgt und der IE nicht einmal ::before
und ::after
kennt.
Im Extremfall hilft da nur ein eigenes, speziell für den IE semantisch fragwürdig geschriebenes HTML-Dokument.
Bei table wird im Wesentlichen nur eine Eigenschaft genutzt.
ja, die eigenschaft, dass sie sich wie eine tabelle verhältDazu eine, die dichter an der Aufgabe dran ist.
nein, die aufgabe ist die vertikale zentrierung eines element in der mitte des viewports - es ist nicht die aufgabe ein tabellenverhalten das zufällig dies tut zu simulieren
Ich möchte dir nahelegen, einmal darüber nachzudenken, was CSS mit dem Verhalten von Elementen zu hat, meiner Meinung nach nämlich gar nichts -- wobei sich vielleicht noch über Pseudoklassen streiten ließe. Ich finde in der einschlägigen Literatur jedenfalls keinen Hinweis darauf. display:
bestimmt ebenso nur das Aussehen eines Elementes wie irgendwelche Farbzuweisungen. Und nur weil etwas wie eine Tabelle aussehen soll, ist es ja noch lange keine. Im Prinzip kehrt du so sogar das Prinzip des Tabellen-Designs um, ohne damit etwas zu erreichen.
Es ist ja schön, wenn du die Schraube nicht mit dem Hammer in die Wand befördern möchtest. Aber wenn sich die Schraube bei näherer Betrachtung doch als Nagel entpuppt, solltest du nicht aus Prinzip auf den Hammer verzichten.
MfG, at