• ich habe hier ein layout, das ich nicht umgesetzt bekomme. mit tabellen ist es kein problem, jedoch will ich es jetzt gerne mit div's machen und das bereitet mir probleme. anhand ein bild, das mein layout zeigt. probleme bereiten mir die div's wrapper, content und info.
    der wrapper soll die gleiche weite wie die anderen (header, navi, footer) div's haben. im wrapper soll links ein div (content) und rechts ein div (info) stehen, die beide einen abstand (oben und unten) zum wrapper von 10px haben.
    ich hoffe ihr könnt mir weiter helfen!

    gruß

    p.s.: der abstand zwischen content und info sollte gleich 0 sein (im bild falsch dargestellt)...

  • Hi,

    content und info müssen nen float:left; bekommen und dürfen zusammen(mit padding und margin) nich breiter sein, als der sie umliegende wrapper..

    stimmt, die würde ich auch floaten lassen (clearen nicht vergessen!).

    #wrapper sollte allerdings alle container auf der Seite umschließen.
    Dann tust du dich auch leichter, wenn du die komplette Seite horizontal zentrieren willst. ;)

    koslowski

  • ich würd das clearen immer dann machen, wenn ich mit floaten fertig bin.
    kommen keine anderen elemente mehr in deinen wrapper für content und info, würd ich im code hinter info nen span oder div einfügen und dem nen clear:both; verpassen

  • ok...habe ich das so richtig verstanden, dass das div mit "clear" dann keine rolle als darstellendes objekt hat, sondern nur, um die formatierung der anderen div's aufzuheben? es spielt sonst praktisch keine rolle, solange ihm keine weite, höhe, inhalt gegeben wird?

  • Hi,

    super!
    kann ich "clear" (left oder both?) im footer einfügen?
    ne, ich will die seite nicht zentrieren, das ist so schon ok - trotzdem danke!

    Hier einfach mal ein paar Merksätze zu float/clear:

    vielleicht ist das ja nützlich für dich. ;)

    koslowski

  • ok...habe ich das so richtig verstanden, dass das div mit "clear" dann keine rolle als darstellendes objekt hat, sondern nur, um die formatierung der anderen div's aufzuheben? es spielt sonst praktisch keine rolle, solange ihm keine weite, höhe, inhalt gegeben wird?

    haste richtig erkannt, ansonsten ist den worten vom koslowski nix hinzuzufügen:-D:D

  • habe jetzt alles verstanden, nur eine frage kann ich nicht selbst lösen...
    meine div's habe ich jetzt folgender maßen formatiert


    info soll 190px groß sein und content den rest 80% vom wrapper füllen. habe schon einiges probiert, aber es hat sich immer alles verschoben. kann mir jemand helfen?

  • also wenn der wrapper 80% haben soll, content 80% vom wrapper haben soll und info immer 190px, wird sich das ganze verschieben, sobald der platz nich mehr ausreicht- denke ich zumindest...
    gib mal bitte den html-code dazu, dann teste ich mal was rum

  • Versuch's mal so:

    Code
    <div id="wrapper">
    <div id="info">info</div>
    <div id="content">content</div>
    </div>
  • also wenn der wrapper 80% haben soll, content 80% vom wrapper haben soll und info immer 190px, wird sich das ganze verschieben, sobald der platz nich mehr ausreicht- denke ich zumindest...
    gib mal bitte den html-code dazu, dann teste ich mal was rum


    ne ne, der wrapper ist 80% groß. nun soll info 190px groß sein und content soll den rest (80% - 190px) abdecken...

    Code
    <div id="wrapper">
    <div id="content">&nbsp;</div>
    <div id="info">&nbsp;</div>
    <div id="clearer">&nbsp;</div>
  • funktioniert sejumas lösung nicht? müsste doch eigentlich ;)
    was er anpackt wird valide^^

    aber nur fürs richtige verständis nochmal:
    wrapper 80% vom bildschirm
    und in diesem wrapper 190px für info, den rest mit content auffüllen und kein margin zwischen content und info..?!?

    edit: also ich hab grad mal sejumas variante getestet und wider erwartens klappte es leider nicht, meine ideen sind auch ausgeschöpft. ich vermute, dass feste werte in kombination mit prozentwerten einfach nich so gut sind ;)
    evtl klappts ja mit ner min-width von rund 70% und ner width von auto, habs net getstet fällt mir grad nur so ein.

    Einmal editiert, zuletzt von synaptic (7. November 2008 um 23:46)

  • Moin,

    ne ne, der wrapper ist 80% groß. nun soll info 190px groß sein und content soll den rest (80% - 190px) abdecken...

    deine Intensionen sind imho leider suboptimal.

    den #wrapper eine 80%-Breite zuweisen schön und gut, leider kann das Layout bei sehr breiten Bildschirmen dann nicht mehr ganz so schön ausschauen.

    Besser wäre es imho mit min-width/max-width und entsprechendem workaround für den IE6 und kleiner zu arbeiten.
    Und Höhen vergibt man für Spalten normal auch nicht, da das dein Layout unflexibel macht.

    Wenn ich das richtig gelesen habe hast du dich gerade für einen "Tabellenausstieg" entschieden.

    An deiner Stelle würde ich es erstmal mit festen Breiten probieren, um ein Gefühl für div-Layouts mit CSS zu bekommen.

    Du mußt bedenken, wenn du bisher mit Tabellen gearbeitet hast, ist das Tabellendenken ja im Moment immer noch in deinem Kopf drin.
    Dieses Denken ist leider mehr als hinderlich für den Umstieg.

    Den Umstieg zu schaffen ist keinesfalls leicht und mit viel Arbeit verbunden, aber die Arbeit lohnt sich. :)

    Es gibt ausgezeichnete Bücher, die dir den Umstieg erleichtern und nebenbei noch Spaß machen zu lesen.
    Für den Anfang: Little Boxes 1 u. 2

    Für den fortgeschrittenen Fortgeschrittenen: Fortgeschrittene CSS-Techniken.
    Dieses Buch ist vom Niveau her schon sehr weit oben anzusiedeln und bietet auch CSS'lern, die denken sie wüßten schon ne Menge die Erkenntnis, das es mit ihrem Können wohl doch nicht so weit her ist. ;)

    koslowski

  • ich habe jetzt ein bisschen herum probiert, aber ich schaffe es einfach nicht, vielleicht sieht einer ja den fehler.

    das layout sollte folgender maßen aussehen: #wrapper umschließt #content und #info, damit #content + #info immer noch die gleiche weite, wie die anderen container haben. nun soll sich #info rechts neben #content platzieren. ich habe viel versucht, aber es leider nicht geschafft. der umstieg von tabellen zu div's ist gar nicht so einfach...

  • Hi,

    #content und #info brauchen eine feste Breite und sollten beide floaten schon um einen "Block Formatting Context" zu erzeugen.
    Ohne feste Breite werden Blockelemente so breit wie es geht.

    #wrapper sollte eigentlich alles umschließen.

    #header, #menue und #footer sind übrigens breiter als 55%.

    Boxmodell!!
    Die wahre Breite einer Box:
    padding + width +border + margin

    Nochmal: Schau dir meine Literaturempfehlungen an, bzw. arbeite sie durch.
    Das ist alles nicht so leicht zu verstehen.

    Mit trial und error holst du dir nur den Frust. :)

    koslowski


  • ok, sie brauchen eine feste breite, aber wie mache ich das denn? ich kann ja schlecht sagen #content=30% + #info=25% = 55% (wenn die wahre breite 55% wäre)...
    das mit der wahren breite überarbeite ich nochmal, aber auch hier weiß ich nicht genau, wie ich das machen soll. margin/padding habe ich in px angegeben - wie kann ich die zur relativen breite 55% dazu zählen?
    danke für die bücher, aber das programmieren ist nur eine nebenbeschäftigung und dafür will ich kein geld für bücher ausgeben. da mache ich es doch lieber mit trial und error.

  • Tach

    ok, sie brauchen eine feste breite, aber wie mache ich das denn? ich kann ja schlecht sagen #content=30% + #info=25% = 55% (wenn die wahre breite 55% wäre)...

    dann vergiß % und arbeite einheitlich mit em und/oder px.
    Da tust du dich bei deinem Kenntnisstand leichter.


    danke für die bücher, aber das programmieren ist nur eine nebenbeschäftigung und dafür will ich kein geld für bücher ausgeben. da mache ich es doch lieber mit trial und error.

    Kein Problem, deine Entscheidung. :)