lousypoetry: absolute Positionierungen vermeiden?

Hallo!

Hab schon ein bisschen im Archiv gewühlt, konnte aber nicht so richtig was finden, daher:

ich hab immer ein ungutes Gefühl, wenn ich absolute Positionierungen verwende, obwohl sie ja eigentlich äußerst praktisch sind. Ist dieses Gefühl berechtigt und man sollte auf Grund von Darstellungsunterschieden in verschiedenen Browsern/bei verschiedenen Auflösungen besser darauf verzichten oder gibt es keinen Grund, auf position: absolute; zu verzichten?

--
life's for the living. so check me tomorrow [Matthew Good Band]
  1. Hi,

    sofern Du nur Bilder absolut positionierst oder kleinere Texte, bei denen Du sichergehen kannst, daß sie bei einer Schriftvergrößerung noch in den Rahmen passen und solange Du nicht zu große Werte bei der Positionierung verwendest (bei denen die Elemente nicht mehr in kleinere Fenster passen könnten), sollte grundsätzlich nichts gegen eine absolute Positionierung sprechen.
    In vielen Fällen sieht's jedoch anders aus - da zerfällt ein Layout z.B. bei Schriftgradänderungen und manchmal reicht dazu auch schon eine andere vom Browser verwendete Schriftart oder Unterschiede in der Laufweite der Schrift.
    Oder bei kleineren Fenstern kommt es zu überlagerungen oder unvollständig angezeigten Elementen.
    Ich verzichte daher meist auf absolute Positionierung; wenn ich sie einsetze, dann nur sehr vorsichtig und mit Austesten verschiedener Fenstergrößen und Schriftgraden.

    freundliche Grüße
    Ingo

    1. hi,

      Ich verzichte daher meist auf absolute Positionierung; wenn ich sie einsetze, dann nur sehr vorsichtig und mit Austesten verschiedener Fenstergrößen und Schriftgraden.

      sie wird sowieso meist nur von css-anfängern exzessiv eingesetzt, die das arbeiten mit float und co. noch nicht verstanden haben.

      solche leute halten absolute positionierung dann oft für den heiligen gral des css-layoutens, was sie jedoch idR. nicht ist.

      gruss,
      wahsaga

      1. sie wird sowieso meist nur von css-anfängern exzessiv eingesetzt, die das arbeiten mit float und co. noch nicht verstanden haben.
        solche leute halten absolute positionierung dann oft für den heiligen gral des css-layoutens, was sie jedoch idR. nicht ist.

        darum frag ich ja danach :)

        --
        life's for the living. so check me tomorrow [Matthew Good Band]
        1. Hi,

          darum frag ich ja danach :)

          gut! Dann stelle Dir doch die einfache Frage:

          • soll ein Objekt an einer bestimmten Position dargestellt werden oder
          • soll es lediglich rechts oder links von anderen Elementen positioniert werden?

          Wenn der erste Fall zutrifft, sollten einige Zusatzfrage kommen:

          • paßt das Objekt in den zu berücksichtigen Fenstergrößen dorthin?
          • paßt der Inhalt dort hinein, d.h. bei Textinhalten: auch bei entsprechender Textvergrößerung?
          • kann es unter ungünstigen Umständen (z.b. zu kleines Fenster) zu Überlagerungen kommen? Wenn Ja: sind diese tolerierbar oder schränken Sie gar die Nutzbarkeit der Seite ein?

          Wenn hier eine Antwort negativ ausfällt, solltest Du überlegen, ob die Positionierung nicht auch mit float zu realisieren ist.

          Andererseits kann es auch einen Grund geben, absolute Positionierung einzusetzen: Wenn ein Inhalt an einer bestimmten Stelle im Quelltext stehen soll und seine Positionierung hierdurch anders nicht möglich ist.
          Daß die Anordnung der Inhalte im Quelltext durchaus relevant sein kann, wurde hier ja bereits angesprochen.

          freundliche Grüße
          Ingo

  2. ich hab immer ein ungutes Gefühl, wenn ich absolute Positionierungen verwende, ...

    Was möchtest Du denn unter "absolute Positionierungen" verstehen?

    1. position:absolute;
    oder
    2. Positionierungen mittels absoluter Einheiten wie px

    Falls 2.:
    dies sollte meiner Meinung nach unbedingt vermieden werden, da dann Darstellungsprobleme in Fenstern beliebiger Größe unvermeidbar sind.

    Falls 1.:
    Weder position:absolute noch das arbeiten mit float & Co. sind der Königsweg, ein spezielles Problem benötigt angepaßte Lösungen, dies kann einmal position:absolute sein, ein anderesmal float.

    Allerdings ist bei position:absolute zu beachten, daß die verschiedenen Textbausteine in einer logisch sinnvollen Reihenfolge im Quelltext stehen, damit auch Screen-reader noch einen zusammenhängenden Text zustandebringen. Ansonsten wirst Du keine Barrierefreiheit erzielen können.

    MfG
    Klaus

    1. Was möchtest Du denn unter "absolute Positionierungen" verstehen?

      1. position:absolute;
        oder
      2. Positionierungen mittels absoluter Einheiten wie px

      Ähm, hängt das nicht unmittelbar zusammen? Ich meinte eine Angabe wie
      style="position: absolute; left: 15px; top: 20px;" mit der ich eine Graphik dann dorthinsetze, wo sie hinsoll.

      Allerdings ist bei position:absolute zu beachten, daß die verschiedenen Textbausteine in einer logisch sinnvollen Reihenfolge im Quelltext stehen, damit auch Screen-reader noch einen zusammenhängenden Text zustandebringen.

      Versteh ich nicht so ganz, wenn ich absolut positioniere, dann bezieht sich das doch nicht auf die Reihenfolge? :-/

      --
      life's for the living. so check me tomorrow [Matthew Good Band]
      1. Hallo,

        1. position:absolute;
          oder
        2. Positionierungen mittels absoluter Einheiten wie px
          Ähm, hängt das nicht unmittelbar zusammen?

        Nein.
        Du kannst auch mit anderen Einheiten als "px" Dinge positionieren.
        position:absolute; left:5em; top:2em;
        Das wuerde sich dann mit der Schriftgroesse anpassen.

        Andererseits kannst Du bei relativen Positionierungen
        die Einheit "px" verwenden...

        Versteh ich nicht so ganz, wenn ich absolut positioniere, dann bezieht sich das doch nicht auf die Reihenfolge? :-/

        Nein.
        Aber wenn HTML-Seite ohne CSS angeguckt wird
        (und so sehen sie auch die Suchmaschinen, Lynx-Benutzer
        und Behinderte mit speziellen Browsern...) dann
        sollten die HTML-Elemente und Inhalte in der Reihenfolge,
        wie sie dort auftreten, einen Sinn ergeben.

        Gruesse,

        Thomas

        --
        Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!
        Ich mag es, wenn URLs verlinkt sind (</faq/#Q-19>).
        Oft gestellte PHP-Fragen beantwortet die dclp-FAQ bestens: http://www.dclp-faq.de/
        1. Du kannst auch mit anderen Einheiten als "px" Dinge positionieren.

          Ach so war das gemeint, klar, ich habs irgendwie nicht so ganz verstanden gehabt. :) Ist es denn prinzipiell egal, ob ich nun "px" oder zB "cm" als Einheit verwende?

          Aber wenn HTML-Seite ohne CSS angeguckt wird dann
          sollten die HTML-Elemente und Inhalte in der Reihenfolge,
          wie sie dort auftreten, einen Sinn ergeben.

          Ja, das macht Sinn. Ich sehe, ich bedenke weitaus zu wenig... Sag mir jetzt aber bitte nicht, dass 60% aller Internet-User kein CSS zur Verfügung haben...

          --
          life's for the living. so check me tomorrow [Matthew Good Band]
          1. Hallo,

            Ist es denn prinzipiell egal, ob ich nun "px" oder zB "cm" als Einheit verwende?

            Nein. Vereinfacht gesagt:
            "cm" und "pt" sind "Drucker"-Einheiten fuer das Medium "Papier" (print).
            "px" ist eine geeignete Einheit fuer den Bildschirm (screen).
            "em" kannst Du fuer beide Medien benutzen.

            Wenn Du z.B. oben links ein Logo hast, das
            300px breit und 100px hoch ist, und Du willst
            die Navigation rechts davon absolut positionieren,
            dann sagst Du am besten, dass sie bei
            position:absolute; left:305px; top:0;
            stehen soll oder so.
            Weil ja das Bild immer genau gleich gross ist,
            und seine Groesse in Pixeln vorgegeben ist.

            Wenn Du dagegen links eine Navigation mit Text hast,
            die 12em breit sein soll (ca. 15 - 20 Buchstaben bei
            normaler Buchstaben-Mischung), und Du positioniert
            den Inhalt rechts davon, dann eben lieber z.B. mit:
            position:absolute; left:13em; top:0;
            als mit
            position:absolute; left:200px; top:0;
            Dann kann der Benutzer die Schriftgroesse beliebig variieren,
            und es kommt "nie" zu den haesslichen Ueberlagerungen.

            (Naja, es gibt zu viele Betriebssysteme, Browser und
            Schriftarten, als dass man das so absolut ausschliessen
            koennte. Aber Du minimierst das Risiko...)

            Sag mir jetzt aber bitte nicht, dass 60% aller Internet-User kein CSS zur Verfügung haben...

            Nein, aber das wichtigste Prozent, naemlich die Suchmaschinen... ;-)

            Gruesse + schoenen Abend,

            Thomas