absolute Positionierungen vermeiden?
lousypoetry
- css
0 Ingo Turski0 wahsaga
0 Klaus B.
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?
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
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
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 :)
Hi,
darum frag ich ja danach :)
gut! Dann stelle Dir doch die einfache Frage:
Wenn der erste Fall zutrifft, sollten einige Zusatzfrage kommen:
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
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
Was möchtest Du denn unter "absolute Positionierungen" verstehen?
- position:absolute;
oder- 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? :-/
Hallo,
- position:absolute;
oder- 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
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...
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