Thomas: div horizontal vierteln

Hi,
ich will auf meiner seite eine horizontale Vierteilung basteln. ich hab eine content box und in dieser divs.
<div class="aussen"> <div class="innen"></div>  <div class="innen"></div>  <div class="innen"> </div>  <div class="innen"></div> </div>

egal wie ich im dazugehoerigen stylesheet die class "aussen" definiere, die divs sind untereinander.
wie kriege ich die divs horizontal geteilt?

Vielen dank
Thomas

  1. Hi,
    http://de.selfhtml.org/css/eigenschaften/positionierung.htm#float@title=Float ist Dein Freund.

    Greetz
    GermanysNextTopfmodel

    1. ich hab float left in der class definiert. Allerdings nix mit margins, muss das zwingend rein?

      dake

      1. Zeig dochmal deinen Quelltext. hast Du jedem Div innen einen float gegegben?

        Gruß
        GermanysNextTopfmodel

        1. also das is im html:
          <div class="contentBox">
               <div class="innerBox">
                   <h1>Contact</h1>
                      <div class="table"> <div class="innen">1</div>  <div class="innen">2</div>  <div class="innen">3</div>  <div class="innen">4</div> </div>
                    <div class="contentText">

          und im style sheet
          #table
          {
          float:left;
          }

          #innen
          {float:left;
          }

          1. Du hast also eine Klasse innen, welche Du den zu floatenden Elementen zugewiesen hast. Im Css deklariesrt Du allerdings eine ID für innen. Bitte schau Dir dein Css nochmal an.

            GermanysNextTopfmodel

            1. ich denke nu isses als class definiert...

              .table
              {
              float:left;
              position:relative;
              align:center;
              }
              .innen
              {float:left;
              }

              der rest is wie zuvor. Muesste nicht eigentlich  nur die clas table die divs floaten lassen, die class innen ist doch praktisch schon im div??

              1. der rest is wie zuvor. Muesste nicht eigentlich  nur die clas table die divs floaten lassen, die class innen ist doch praktisch schon im div??

                Ich verstehe die Frage nicht - ich hab' aber einige für dich:

                Was tut das "position: relative"?
                Woher hast du die Eigenschaft "align"?
                Warum hat .table "float: left?"
                Warum nutzt du nicht den Nachfahrenselektor?

                1. dein voriger post beantwortet die frage. Der Post war aber vorhin noch nich da...

                  zu deinen fragen:
                  Ich habe keine Tabellarischen daten, ich will die content box Vierteln, damit ich dort Bilder und Text anordnen kann.

                  • position relative steht nich in dem thread
                  • align ebenfalls
                  • ich dachte das float left mir die divs von links beginnend anordnet
                  • Nachfahrenselktor kenn ich noch nicht

                  table heist table weil ich momentan erstmal die funktionalitaet teste..

                  1. zu deinen fragen:
                    Ich habe keine Tabellarischen daten, ich will die content box Vierteln, damit ich dort Bilder und Text anordnen kann.

                    Also sind es eigentlich "Textspalten" bzw. es ist eine Liste an Teasern oder vergleichbares - warum ist es dann keine Liste?

                    • position relative steht nich in dem thread

                    Doch, das steht eindeutig in diesem Post.

                    • align ebenfalls

                    Dito.

                    • ich dachte das float left mir die divs von links beginnend anordnet

                    Nein, float: left; erlaubt es, dass das Element auf der rechten Seite umflossen wird (wenn genügend Platz ist) - das Element sozusagen auf der linken Seite "treibt". Wenn nun eines dieser umfließenden Elemente ebenfalls diese Eigenschaft erhält, hat es den Effekt, dass sich die Elemente nebeneinander anordnen bis der Platz zuende ist. Dann wird in der "nächsten Zeile" fortgesetzt. Die Elemente werden nicht zwangsläufig immer nach Links nebeneinandergeklebt.

                    • Nachfahrenselktor kenn ich noch nicht

                    Solltest du aber - das verhindert dein herumschleudern mit Klassen und macht deinen Code logischer und übersichtlicher.

                    table heist table weil ich momentan erstmal die funktionalitaet teste..

                    Sorry: aber das ist eine dämliche Idee. Es spricht genau NICHTS dagegen, dass man gleich den finalen Namen vergibt. Die Gefahr ist zu groß, dass dieser bleibt. Wenn du nur für dich allein arbeitest, ist das deine Sache - durch schlechte Benennung verarscht du dich in ggf. in Zukunft nur selbst. Wenn du hingegen mit anderen oder für andere arbeitest, machst du auch jenen das Leben schwer. Sonderlich produktiv ist es jedenfalls nicht.

                    1. zum thema liste: die anordnung soll sich flexibel anpassen, man koennte es sicher auch als liste machen, ich denke aber so ist es fuer meinen Zweck flexibler.

                      -> das float left ist dann genau das was ich will.
                      den nachfahrenselector werde ich mir mal anschauen.

                      1. zum thema liste: die anordnung soll sich flexibel anpassen, man koennte es sicher auch als liste machen, ich denke aber so ist es fuer meinen Zweck flexibler.

                        Du denkst falsch - du bist offenbar davon überzeugt, dass die Darstellung etwas mit HTML zu tun hätte.

                        <ul>  
                          <li />  
                          <li />  
                          <li />  
                          <li />  
                        </ul>
                        

                        und

                        <div>  
                          <div />  
                          <div />  
                          <div />  
                          <div />  
                        </div>
                        

                        ist in jeder Hinsicht gleichwertig - allerdings stellt ersteres einen vernünftigen, logischen zusammenhang zwischen den Elementen dar. Zweiteres gruppiert sie nur.

                        -> das float left ist dann genau das was ich will.

                        Richtig, aber das hat wie oben erwähnt genau 0[1] mit dem HTML zu tun - ob du eine Liste, eine Tabelle oder eine Div-Suppe wählst, hängt von den Daten ab. Die Darstellung regelt dann CSS.

                        [1] abgesehen von Spezialfällen, wie Formularelemente, die ihre Formatierung teils sehr streng vom Betriebsystem (OK) oder Browser (Zumutung) erben.

          2. <div class="table"> <div class="innen">1</div>  <div class="innen">2</div>  <div class="innen">3</div>  <div class="innen">4</div> </div>

            Hast du tabellarische Daten?
            Wenn ja: nimm eine Tabelle.
            Wenn nein: weise das Element in eigenem interesse keiner Klasse mit dem Namen "table" zu und überlege dir einen vernünftigen Namen.

            In jedem Fall: Klassen für die Kindelemente sind unsinnig - der Nachfahrenselektor (oder der Kindselektor) würden ausreichen.