Hallo,
deine lösung funktioniert zwar "besser", allerdings würde ich den ie7 schon als modernen browser bezeichnen
Der IE 7 kann allerdings abhängig von der sonstigen Strategie wohl doch ein
Knackpunkt sein.
Wer die IEs sowieso extra behandeln muß dürfte sich daran nicht stören.
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
1 element extra, keine hacks, keine umwege - normale 08/15-eigenschaften (position relative und float) da ist kein umweg zu erkennen
Bei table wird im Wesentlichen nur eine Eigenschaft genutzt.
ja, die eigenschaft, dass sie sich wie eine tabelle verhält
Dazu 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
Und nur "ein HTML-Element extra" ist auch möglich, wenn html/body wie
bei deinem Beispiel auch genutzt werden.
mit "ein html-element" extra meinte ich das zusätzliche element mit der id top - in deinem fall sind es zweit "extra" elemente - summe für den effekt in meinem beispiel 4 elemente (html, body und 2 div-elemente), in deinem html, body und 3 div-elemente)
html und body musst du zwangsläufig nutzen da diese in einem html-dokument zwingend notwendig sind (entsprechender doctype vorausgesetzt) zudem wird eine tabelle mit 100% höhe auch nur dann 100% hoch sein, wenn html und body mindestens so hoch sind
Nein. Eine Tabelle ist nichts anderes als ein Layoutwerkzeug, und zwar ein sehr gutes.
ich fürchte damit hast du dich disqualifiziert - eine tabelle ist kein layoutwerkzeug und war es nie, es wurde nur dazu missbraucht
eine tabelle stellt in matritzen strukturierte daten in zwei dimensionen dar - eine tabelle hat mindestens 2 spalten und mindestens 2 zeilen deren daten in bezug zueinander stehen - eine tabelle mit nur einer zeille ist einerseits per definition keine tabelle und andererseits wie gesagt ein missbrauch von speziellen render-eigenschaften die sie eigentlich garnicht haben dürfte, wenn man eine strikte trennung von layout und inhalt vorsieht
Es war nicht der Sinn des Links, dem Ausgangsposter eine fertige Lösung zu
präsentieren, sondern ihm je nach seinem Interesse andere Ansätze als
Anregung zu zeigen.
ja du hast ansätze geliefert die verwirrend und kompliziert sind, sie sind noch schlimmer als die von dir vorgeschlagene variante, funktioniert nicht ohne javascript und ist für einen anfänger vermutlich gänzlich unverständlich
du suggerierst damit einem unbedarften nutzer, dass diese lösung gut ist - dem ist aber nicht so (auf keinen fall, egal wie du es hindrehst) man darf sich daraus nichtmal etwas auleihen oder abschaun, das wäre wahrscheinlich potentiell gefährlich ;)