kethryl: Was spricht eigentlich gegen absolute Positionierung

Hallo Alle zusammen,

ich arbeite mich jetzt seit einiger Zeit in CSS ein und stelle mir seit fast der gleichen Zeit eine Frage....

Was spricht eigentlich dagegen, in einer Seite die fixe Werte in Breite und Höhe hat, ausschliesslich mit absoluter Positionierung zu arbeiten?

Überall wird ein mords Tamtam um die Probleme bei mehrspaltigen CSS Layouts gemacht oder um Dinge die bei relativer Positionierung anscheinend extreme Probleme Bereiten in den unterschiedlichen Browsern.

Gilt unter den Hardcore Codern die absolute Positionierung irgendwie als Kapitalverbrechen oder überseh ich irgendwas und es gibt doch extreme Probleme die ich nur noch nicht bemerkt habe?

Schönen Tag noch.

Gruß
Kethryl

  1. Hi,»

    Was spricht eigentlich dagegen, in einer Seite die fixe Werte in Breite und Höhe hat, ausschliesslich mit absoluter Positionierung zu arbeiten?

    Das solltest Du Dir dann mal ansehen, wenn der Schriftgrad im Browser/System erhöht wurde oder die Schrift nicht auf dem System vorhanden ist und z.B. statt helvetica verdana verwendet wird. Auf anderen Systemen wiederum laufen die Schriften möglicherweise ganz anders, am Mac i.d.R etwas weiter als am PC.

    Das Ergebnis wäre eine unlesbare Überlagerung der Inhalte und hat wenig mit dem für Screens erforderlichem flexiblen Design zu tun.

    Darüber hinaus bedeutet jede Textänderung, dass Du die Positionen neu berechnen muss. Mehrsprachigkeit ist dann eh nicht möglich, da übersetze Texte kaum die gleiche Länge haben.

    Das sollten für den Anfang einige Gründe sein...

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Yerf!

      Das solltest Du Dir dann mal ansehen, wenn der Schriftgrad im Browser/System erhöht wurde oder die Schrift nicht auf dem System vorhanden ist und z.B. statt helvetica verdana verwendet wird. Auf anderen Systemen wiederum laufen die Schriften möglicherweise ganz anders, am Mac i.d.R etwas weiter als am PC.

      Das Ergebnis wäre eine unlesbare Überlagerung der Inhalte und hat wenig mit dem für Screens erforderlichem flexiblen Design zu tun.

      Wieso gehen eigentlich alle bei absoluter Positionierung immer gleich von Pixel als Einheit aus? Mit Prozent- oder EM-Angaben sollte das doch kein Problem sein...

      Darüber hinaus bedeutet jede Textänderung, dass Du die Positionen neu berechnen muss. Mehrsprachigkeit ist dann eh nicht möglich, da übersetze Texte kaum die gleiche Länge haben.

      Wer jedes Wort einzeln positioniert sollte sich über Nebenwirkungen nicht wundern...

      Das sollten für den Anfang einige Gründe sein...

      Sehe ich nicht so. Aber ich hab auch zwei auf Lager:

      1. Die Positionierung wird immer fest eingehalten, auch wenn das Browserfenster zu schmal ist. Bei realisierung über float werden die Teile dann untereinander dargestellt. Was besser ist kommt auf den Einzelfall an würde ich sagen.

      2. Die absolute Positionierung tut nicht immer das, was man auf den ersten Blick vermutet, da der Ausgangspunkt für die Position relativ zu einem Elternelement sein kann, wenn dieses ebenfalls positioniert wurde.

      Gruß,

      Harlequin

      1. Hi,

        Wieso gehen eigentlich alle bei absoluter Positionierung immer gleich von Pixel als Einheit aus? Mit Prozent- oder EM-Angaben sollte das doch kein Problem sein...

        Welchen Unterschied machen Prozenangaben bei der Positionierung, wenn die verfügbare Schrift bei gleicher Grösse ungünstigerweise 15% weiter läuft, unter dem Textblock aber bereits ein absolut positioniertes Bild sitzt?

        Gruesse, Joachim

        --
        Am Ende wird alles gut.
        1. Yerf!

          Welchen Unterschied machen Prozenangaben bei der Positionierung, wenn die verfügbare Schrift bei gleicher Grösse ungünstigerweise 15% weiter läuft, unter dem Textblock aber bereits ein absolut positioniertes Bild sitzt?

          Hm, ok... wenn man zuviel Positioniert kann es Probleme geben. Das ich da vorher nicht drann gedacht hab liegt wohl darin, das meine bisherigen Versuche mit absoluter Positionierung diese eher sparsam nur für das Grundlayout verwendet haben (...jetzt kommen gleich Kommentare von wegen "Nachbau eines Table-Layouts" ;-).

          Gruß,

          Harlequin

          PS: ich find "stabile" Layouts irgendwie schöner und für Handhelds mit kleinem Display ist wohl ein eigenes speziell angepasstes Layout besser geeignet, als ein "one-size-fits-all" CSS.

      2. Hm.... klingt partiell überzeugend - vor allem das mit den Prozenten und EM. Letzteres kapier ich nicht - dazu fehlt mir irgendwie eine Beziehung und bei Prozenten müsste ich jetzt rechnen wie ich damit die Seite und Inhaltsbereiche aufteile.

        Ist das bei EM nicht so dass ich zuerst einmal im CSS unter html eine Pixelgröße definiere und den Rest dann in EM festlege der irgendwie ein prozentualer Anteil des festgelegten Grundwertes ist?

        Muss ich nochmal nachlesen...

        Ich muss zugeben, eigentlich wollte ich mit Pixeln arbeiten - da kann ich wneigstens was mit anfangen aber ich schätze das macht dann eher keinen Sinn.

        Float kommt aber nicht in Frage, weil das Layout es nicht hergibt, dass da auch nur die geringste Chance besteht, dass irgendwelche Inhalte umgebrochen und unter dem eigentlichen Element fortgeführt werden.... Das würde das Desig zerstören...

        Übrigens sind Auflösungen und 1024x768 uninteressant für die Website - auch wenn das gegen das Evangelium verstößt und ich damit irgendwleche Menschen von einem Angebot ausschliesse oder benachteilige. man kanns nun mal nicht Allen recht machen behaupte ich einfach mal.

        *Geht sich über EM schlau machen"

        Danke schonmal und schönen Tag noch..

        Gruß
        Kethryl

    2. Hallo Kethryl,

      ich selber bin da geteilter Meinung. Es gibt einfach grafische Layouts, die sehr Pixelorientiert sind.
      Da lass ich schonmal fünfe gerade sein, und positioniere absolut.
      Ich achte dann meist darauf das die Schriftgröße meist auch zwei Stufen größer als normal eingestellt werden kann.

      Wenn der Grafker es trotz Belehrung unbedingt will ...

      Oft ist es aber besser etwas floaten zu lassen ...
      Absolut ist halt absolut aus dem Textfuss herausgenommen, keien Chance das sich Folgeelmente z.B. an die Höhe anpassen können.

      Aber das ist nur meien Meinung, und ich bin kein wahrer CSS-Crack.

      Liebe Grüße,

      Bernd

  2. Hallo!

    ich arbeite mich jetzt seit einiger Zeit in CSS ein und stelle mir seit fast der gleichen Zeit eine Frage....

    Was spricht eigentlich dagegen, in einer Seite die fixe Werte in Breite und Höhe hat, ausschliesslich mit absoluter Positionierung zu arbeiten?

    So angewendet, wie es sich aus deiner Frage ergibt, spricht IMHO dagegen, dass man so einen der größten Vorteile einer Webseite gegenüber einer Printseite kaputt macht, nämlich die Flexibilität der Darstellung, der angebotenen Inhalte.

    Anders als bei einem Buch oder einer Zeitung kannst du als Webseitenlayouter nicht wissen, in welchem Format (bezogen auf die Viewportgröße) sich jemand deine Seite anguckt. Daher ist bei fixen Layouts die Gefahr groß, dass die Inhalte für gewisse User zumindest (unnötig) schwer zugänglich werden. In Kombination mit absoluter Positionierung wird sie noch größer, bis hin zur völligen Nichterreichbarkeit von Inhalten.

    Häufig stellt man auch fest, dass die absolute Positionierung vom Gestalter einer Webseite quasi als Ersatz für eine Layouttabelle verwendet wird, was natürlich genauso widersinnig ist.

    Also nicht die absolute Positionierung ansich ist "böse" (genauso wenig wie Tabellen), nur häufig die Art ihrer Verwendung.

    Gruß Gunther

  3. Hallo kethryl,

    Was spricht eigentlich dagegen, in einer Seite die fixe Werte in Breite und Höhe hat, ausschliesslich mit absoluter Positionierung zu arbeiten?

    Gilt unter den Hardcore Codern die absolute Positionierung irgendwie als Kapitalverbrechen

    Nicht pauschal. Innerhalb relativ positionierter Elemente die Nachfahren absolut zu positionieren kann in Summe immer noch flexibel sein, siehe Navigation in unserem Weblog. Das Problem ist eher die völlige Losgelöstheit absolut positionierter Elemente vom Rest der Seite. Verändert sich die Position eines anderen Elements (nach Manipulation der Schriftgröße oder des Viewports), rührt sich alles absolut Positionierte nicht vom Fleck und wird überdeckt, überdeckt andere Bereiche oder verschwindet in den nicht sichtbaren Bereich.

    Selbst wenn du Boxen so lange verschiebst, bis sie bei dir passen, kann das bei mir in die Hose gehen, sobald ich *nur* die Schriftgröße skaliere, wie es Mozilla Firefox macht. Opera andererseits skaliert die gesamte Seite, sodass bei fixen Breiten bei Hochskalierung zwangsläufig der horizontale Scrollbalken auftaucht. Den Zoom des Internet Explorer 7 habe ich noch nicht durchschaut, dort sieht das Ergebnis immer erbärmlich aus.

    Auch die Mischung von absoluten (px – spart euch den Hinweis) und relativen Einheiten (%, em) führt zu unberechenbaren Ergebnissen. Mit einer wilden Mischung lässt sich nunmal nicht rechnen. Bei flexiblen Bereichen dagegen, die sich je nach verfügbarem Raum verschieben bleibt immer alles lesbar. Der Preis dafür ist lediglich der Verzicht auf element- bzw. bereichsübergreifende Hintergrundgrafiken, da schlichtweg nicht weißt, wo ein Element dargestellt wird.

    oder überseh ich irgendwas und es gibt doch extreme Probleme die ich nur noch nicht bemerkt habe?

    Das Problem ist der erste zitierte Absatz. Fixe Breiten und Höhen widersprechen der grundsätzlichen Skalierbarkeit von HTML und führen bei Clients, die diese Mindestanforderungen nicht erfüllen zu einem unbrauchbaren Ergebnis. Um nochmal zum Weblog zu kommen: Das Layout ist flexibel und weist ab einer bestimmten Viewportgröße dennoch eine feste Breite auf. Das ist der Königsweg, der mit absoluter Positionierung alleine nicht möglich ist. Grundsätzlich „schlecht“ ist sie nicht, man sollte sie aber im Bewusstsein der Nachteile sparsam einsetzen.

    Grüße
     Roland