Positionieren mit position oder float?
klickme
- css
0 Inita0 Struppi0 Ingo Turski0 D.R.
Hallo,
ich frage mich jedes Mal aufs neue, ob ich die div-Boxen einer Website via Positionsangaben (absolut, relativ,...) aufbaue oder via float.
Konkret: Wenn ich ein 3-spaltiges Layout erstellen will, was spricht für
Positionsangaben mit Angabe von Breite/Höhe sowie Maßangaben für oben, unten, rechts links und was spricht für die floating-Variante, in der ich nur Breite/Höhe der divs angebe?
Für einen Tipp in die richtige Denkrichtung, wäre ich sehr dankbar.
Hi,
ich wuerd mit floats machen, den grund weiss halt net.
ich frage mich jedes Mal aufs neue, ob ich die div-Boxen einer Website via Positionsangaben (absolut, relativ,...) aufbaue oder via float.
Konkret: Wenn ich ein 3-spaltiges Layout erstellen will, was spricht für
Positionsangaben mit Angabe von Breite/Höhe sowie Maßangaben für oben, unten, rechts links und was spricht für die floating-Variante, in der ich nur Breite/Höhe der divs angebe?
die Positionierung kann u.u. schwieriger werden, wenn du ein "elastisches" Layout hast, also relative Größen verwendest und wenn die Anzeigefläche zu klein wird.
Bei float musst du auf die richtige Reihenfolge im Quelltext achten und du kannst keine Verschachtelten floats separat aufheben (also wenn du z.b. in der mittleren Spalte irgendwas mit float anordnen willst und mit clear:left/right/both das aufeben willst).
Ich bevorzuge mittlerweile eher die Positionierung.
Struppi.
Hi,
Konkret: Wenn ich ein 3-spaltiges Layout erstellen will, was spricht für
Positionsangaben mit Angabe von Breite/Höhe sowie Maßangaben für oben, unten, rechts links
vieles! Eine wirklich passende Höhe kannst Du nur dann angeben, wenn lediglich Grafiken enthalten sind. Und mehr als zwei Positionsangaben, d.h. die Angabe einer Eck-Koordinate, kann der IE nicht umsetzen.
und was spricht für die floating-Variante, in der ich nur Breite/Höhe der divs angebe?
Dasselbe was die Höhe betrifft.
Den Nachteil bzw. der Anordnung der Elemente im Quelltext hat Struppi schon erwähnt.
Ob die Anpassung an den zur Verfügung stehenden Platz, d.h. Umbruch der Bereiche in schmalen Fenstern, ein Vorteil ist, musst Du im Einzelfall entscheiden. Vorteilhaft ist auf jeden Fall die Möglichkeit, den Elementenfluss über clear wieder herzustellen, so dass sich nachfolgende Elemente darunter anordnen und nicht wie bei absoluter Positionierung überlagert werden können.
freundliche Grüße
Ingo
Hallo,
ich frage mich jedes Mal aufs neue, ob ich die div-Boxen einer Website via Positionsangaben (absolut, relativ,...) aufbaue oder via float.
Konkret: Wenn ich ein 3-spaltiges Layout erstellen will, was spricht für
Positionsangaben mit Angabe von Breite/Höhe sowie Maßangaben für oben, unten, rechts links
Wenn du die Angaben kombinieren könntest (top & bottom etc.), dann hättest du hiermit schon eine ganze Menge Möglichkeiten. Da der blaue Klotz damit aber nicht klar kommt…
Ansonsten hast du das Problem, dass sich die absolute-positionieren Bereiche überlappen könnten und somit bei zu niedrigen Festergrößen unzugänglch werden. Es kommt natürlich auch darauf an, wie geschickt du das umsetzt.
und was spricht für die floating-Variante,
Dass Überlappungen unmöglich sind (sofern man nicht mit negativen margins arbeitet) und dass sich die Floatenden Element automatisch an die Breite anpassen können (bei position würde das zu Problemen führen).
Schau dir z.B. mal <http://de.selfhtml.org/css/layouts/anzeige/2spaltig_rechts.htm@title=dieses Beispiel> aus der SELFHTML-Doku an. Eine derart gute Anpassung an die Fensterbreite, kannst du nur mit float erreichen.
in der ich nur Breite/Höhe der divs angebe?
Brauchst du gar nicht. Überlasse diese Aufgabe einfach dem Browser - er macht das div genau so groß, wie es sein muss.
Für einen Tipp in die richtige Denkrichtung, wäre ich sehr dankbar.
Ich empfehle float! Einfach, weil es einfacher ist, und da weniger mit festen Breiten/höhen zu kämpfen hast. Letztlich kommt es natürlich darauf an, was du Umsetzen möchtest.
mfg. Daniel