Verstanden habe ich: Seiten können absolut oder relativ gestaltet werden (z.B: 100% Tabellenbreite, oder 800 Punkte Seitenbreite).
Doch wie funktioniert ein flexibles Seitendesign im Kern mit css Dateien und xml?
Css:
Wird hier z.B. jeweils für unterschiedliche Auflösungen eine anderes ausgelagerte Css Datei geladen?
Um Himmels Willen, nein. Flüssiges Layout ist in gewisser Hinsicht eine Kerneigenschaft von HTML. Schon eine einzelne, lange Zeile in einem HTML-Dokument passt sich an die zur Verfügung stehende Ausgabefläche an, einfach indem sie am rechten Seitenrand bei Bedarf umbrochen wird, anstatt aus dem Bildschirm rauszufallen. Für diese Funktionalität braucht es kein CSS und erst recht keine speziellen Spezialtechniken.
Dieses Prinzip geht durch (fast) alle Seitenelemente: Jedes meldet seinen Bedarf an das Elternelement, schaut anschließend, wieviel Fläche ihm vom Elternelement tatsächlich zur Verfügung gestellt wird und passt sich entsprechend an. Ist an der aktuellen Position kein Platz vorhanden, rutscht es in die nächste Zeile (ganz grob beschrieben).
CSS dient lediglich dazu, die einzelnen Seitenelemente in ihrem Aussehen weitergehend zu beeinflussen, unterstützt das flüssige Layout aber auch weitergehend.
Dem flüssigen Layout muß man in HTML bzw. CSS explizit ein Ende setzen, indem statt relativer Maße (z.B. Prozente) absolute (Pixel, Millimeter) eingesetzt werden.
Und weil's so schön ist: Die Größe des Browserfensters hat absolut überhaupt und gar nichts mit der Bildschirmauflösung zu tun.
XML:
Kann ich xml überhaupt für eine flexible Gestaltung von Text verwenden?
XML ist ein ein recht universelles Datenaustauschformat und für Webseiten im Allgemeinen eher wenig verwendbar, weil es keine Seitenbeschreibungssprache wie HTML ist. In einer neueren Version entspricht HTML allerdings vollständig den XML-Syntaxregeln (anstatt nur teilweise), das Ganze nennt sich XHTML.