Harry: Element unten positionieren in XHTML 1.1

Beitrag lesen

Holladiewaldfee,

ich bin zur Zeit dabei, meine Seiten auf XHTML 1.1 umzuschreiben.
warum nicht 1.0 ?

Persönlicher Ehrgeiz? Außerdem finde ich das Schöne an XHTML 1.1,
daß es einen regelrecht dazu zwingt, Layout und Struktur voneinander
zu trennen. Gut, das könnte ich mit 1.0 auch. Allerdings macht es
dann glaube ich nicht mehr wirklich den großen Unterschied, ob ich
nun 1.0 strict oder 1.1 schreibe. Auf irgendeine "transitional"-
Variante möchte ich mich hier eigentlich nicht mehr einlassen.
Außerdem werde ich so definitiv dazu gezwungen, auf veraltete
Sprachelemente zu verzichten.

Da ich auf Tabellen für Layoutzwecke verzichten möchte, sind alle Elemente auf der Seite absolut positioniert.

Ich befürchte Schlimmstes bei Schriftvergrößerung. Du solltest von position:absolute nur in begründeten Ausnahmefällen Gebrauch machen und das Ergebnis bei verschiedenen Schriftgraden und Fenstergrößen testen.

Ich nicht. Das Layout ist so ausgelegt, daß Schriftvergrößerungen um
bis zu 25% ohne jegliche Probleme und bis zu 50% mit kleineren
optischen Einschränkungen möglich sind. Und das trifft nur auf die
für dieses Projekt ziemlich unerhebliche Startseite zu. Auf den
anderen Seiten sollten Schriftvergrößerungen ohne weitere Probleme
fast beliebig möglich sein (abgesehen davon, daß dann irgendwann mal
die Navigation platzt).

Du kannst mir glauben, ich habe mir diese Sache gründlich überlegt.
Absolute Positionierung verwende ich auch nur, weil relative
Positionierungen aufgrund der Unterschiede die Mozilla und IE bei
der Interpretation gewisser Angaben an den Tag legen nicht möglich
ist:

In ein Container-Div hatte ich mehrere weitere Divs einfügt und
diese relativ positioniert, dabei sind drei der Divs mit negativen
Koordinaten versehen, so daß sie zum Teil außerhalb des Containers
liegen. Da der Container mit diversen border-Angaben versehen ist,
die u.a. auch für das Layout von Bedeutung sind, habe ich den
Container in der Höhe mit height:XXpx begrenzt, was Mozilla im
Gegensatz zum IE, der die Angabe einfach ignoriert, auch brav macht.
Versuche ich den Anzeigebereich im IE mit overflow:hidden
einzugrenzen, dann passt im IE alles allerdings schneidet Mozilla -
wahrscheinlich zurecht - die oben erwähnten, überstehenden Divs ab,
was ja auch nicht im Sinne des Erfinders ist. Da die Übergröße des
Container-Divs allein ein Problem der relativen Positionierung ist,
mußte ich hier auf absolute Positionierung ausweichen. Dabei mußte
ich auch den Container absolut positionieren, da beide Browser in
einem statisch oder relativ positionierten Container absolute
Positionierungsangaben auf die Koordinaten des nächsthöheren
absolute positionierten Divs und nicht direkt auf das Elternelment
bezogen haben.

Außerdem befindet sich prinzipiell der gesamte relevante Inhalt in
einem einzigen Div ohne feste Höhenangabe, so daß mit der
Schriftvergrößerung eigentlich keine Probleme entstehen sollten.

Aber das ist nicht mein Problem.

Ansonsten wäre es wirklich sinnvoller, wenn Du bei Deinen Tabellen bleiben würdest.

Ich mag dieses "Schuster bleib bei Deinen Leisten"-Prinzip nicht.
Denn ich habe inzwischen eingesehen, daß Tabellen eigentlich
wirklich nicht für Layout-Zwecke gedacht sind. Mit Tabellen hätte
ich wohl nur 1/3 der Zeit gebraucht, die ich bis jetzt aufgewendet
habe. Für mich steht der Einsatz von Tabellen hier aber nicht zur
Diskussion. Wenn ich mir hier schon die Mühe mache, in XHTML 1.1 zu
schreiben, dann möchte ich die Trennung von Struktur und Layout
wirklich konsequent durchziehen. Und dazu gehört meiner Meinung nach
auch der Verzicht auf Tabellen für Layout-Aufgaben.

Übrigens solltest Du der von Dir verlinkten Seite dringend eine Hintergrundfarbe spendieren. Je nach Voreinstellung des Browsers ist sonst kaum etwas zu erkennen.

Danke für den Hinweis.

Ciao,

Harry

--
  Die ideale Zeit für Firntouren:
  http://harry.ilo.de/projekte/berge/