Div-Positionierung (zentriert)

  • Ich schaffs nicht! :D

    Habe jetzt alle Tutorials gelesen, die ich gefunden habe, und schaffe es trotzdem nicht die Div's so auszurichten wie ich will.

    Als Übungsgrundlage habe ich eine der Vorlagen von stichpunkt.de genommen. Jetzt will ich das ganze aber zentrieren. Das Ergebnis meiner kläglichen Versuche findet ihr hier.

    Die Ausrichtung der Layer Top und Links ging problemlos. Rechts habe ich auch in die richtige Position gebracht, allerdings mit einem Negativwert :roll: Wenn ihr etwas runter Scrollt findet ihr auch noch den Layer Inhalt. Dieser sollte sich da noch dazwischen quetschen, aber das bringe ich gar nicht mehr zu Stande :?

    Habe mir auch andere Seiten angesehen, die ein Ähnliches Design haben, aber blicke trotzdem nicht durch.

    Quelltext:

  • mach mal zunächst einen horizontal zentrierten Div nach diesem Muster. Auf die Vertikale Zentrierung kannst du dabei zunächst mal verzichten.
    Dann packe darein deine div's. Lass bei denen überall die position, left und right-Angaben weg. Stattdessen kannst du ggf. mit margin-left arbeiten.
    Verpasse dem linken ein "float:left;" und dem rechten ein "float:right;"
    Orientiere dich am besten an diesem Code: http://www.stichpunkt.de/css/3-box2.html

  • Endlich, kann ich dir auch mal was helfen ;)

    Code
    <div id="frame">
    <div id="logo">Top</div>
    <div id="left">Links</div>
    <div id="right">Rechts</div>
    <div id="inhalt">Inhalt</div>
    <br style="clear: both;" />
    </div>

    Ich frag mich, was du mit der Positionierung versucht hast ;)
    Um Blockelemente nebeneinander anordnen zu können, solltest du auf Float zurückgreifen. wichtig ist, nach dem alles gefloatet ist, immer wieder schön zu clearen, da sonst nachfolgende Inhalte weiter floaten wollen. Ohne clear am Ende, würde der Hintergrund vom frame sich nicht bis ans Ende ziehen.
    Falls du irgendwann mal willst, dass deine Spalten immer gleich lang sind, kannst du entweder den Quellcode von meiner Website studieren, oder mal nach "Faux Columns" googlen.

    Hoffe ich konnte dir helfen, ohne dir den Lerneffekt zu nehmen ;)

    Grüße,
    LizZard

    PS.: Ich finde es gibt viel zu viele Tutorials dazu im Web. Wenn das nicht so wäre, hätte ich schon eins geschrieben ;)

    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.

  • ich hätts jetzt so gemacht:

  • Deine Lösung ist besser. bei mir hakt noch irgendwas im IE.
    Hab noch nie in nem Projekt mit absoluter Positionierung gearbeitet, aber das schaut echt brauchbar aus, und ist auch gut Browserkompatibel. Schöne Lösung!

    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.

  • Ihr seid alle klasse! :D

    Ich frage mich auch, was ich damit versucht habe. Float habe ich jetzt auch schon mind. 10 mal durchgeackert und verstehe es einfach nicht :( Da ich bis anhin ein Tabellenfetishist war bin ich vielleicht etwas schwer von Begriff, was andere Lösungen betrifft :D Werde noch einmal weiterpauken.

    Danke an alle! :D :danke: :danke2: :daumenhoch: :haende:

  • moin ...

    ne variable Möglichkeit.

    Ist "ausbaufähig"

    gruß

  • OK, zwei Fragen habe ich noch :D

    Wie kann ich machen, dass sich das DIV "frame" mit den DIV's "left", "right" und "inhalt" vergrössert wenn diese grösser werden als frame selbst?

    Wie kann ich machen, dass das DIV "left" immer die gleiche Höhe hat wie das div "frame"? Mit height:100% passt es sich ja an die Seitenhöhe an.

  • Zitat


    Wie kann ich machen, dass sich das DIV "frame" mit den DIV's "left", "right" und "inhalt" vergrössert wenn diese grösser werden als frame selbst?


    zumindest bei meiner Lösung ist es so, dass der frame immer so groß ist, wie der größte Container in seinem Inhalt.

    Zitat


    Wie kann ich machen, dass das DIV "left" immer die gleiche Höhe hat wie das div "frame"? Mit height:100% passt es sich ja an die Seitenhöhe an.

    das will ich sehen, wie du ein Div dazu bringst, nur per CSS die volle Bildschirmhöhe einzunehmen ;)
    Vielmehr solltest du hier Faux-Columns benutzen, wie oben schonmal angesprochen.

    http://alistapart.byteshift.de/fauxcolumns/

    Sometimes you have a programming problem and it seems like the best solution is to use regular expressions; now you have two problems.