Christian Wasserburg: Umbruch aller 4 DIVs nebeneinander

Hallo,

es sollen 4 DIVs nebeneinander plaziert werden, danach soll automatisch ein Umbruch erfolgen und wieder 4 DIVs nebeneinander hin usw.

Aktuell werden bei nachfolgenden Code aber nur 3 DIVs nebeneinander platziert, danach erfolgt ein Umbruch, danach ein 1 DIV, danach wieder ein Umbruch und dann sind wieder 3 DIVs zu sehen.

<style type="text/css">

.umbruch{position:relative;width:180px;height:170px;clear:left}
.normal{position:relative;width:180px;height:170px;float:left}

</style>

while($row=mysql_fetch_array($bilder))

{

$i++;

if(!bcmod($i,5)){echo "<div class="umbruch">";}
else{echo "<div class="normal">";}
echo "Inhalt</div>";

}

Ich vermute mal es stimmt einfach was mit den Float im CSS nicht oder?

Danke,
Christian Wasserburg

  1. Grüße,

    Ich vermute mal es stimmt einfach was mit den Float im CSS nicht oder?

    ja - der "umbruch selbst" soltl eein nicht sichtbarer elemnt, wie ein inhaltsloser sapn oder irgendwas mit visibility:hidden sein. der 4e div selbst darf nicht "cler" sein.

    MFG
    bleicher

    --
    __________________________-
    Die versprechen ernsthaft werbefreien hosting?
    1. [...] soltl eein [...] sichtbarer elemnt [...] sapn [...] 4e [...] "cler" [...]

      alkohol? :D

      1. Grüße,
        die Frage wurde als Frage der RTFM-Klasse eingestuft - da sind bei mir 15secunden für Lesen/Antworten vorgesehn ;)
        MFG
        bleicher

        --
        __________________________-
        Die versprechen ernsthaft werbefreien hosting?
  2. Ich vermute mal es stimmt einfach was mit den Float im CSS nicht oder?

    nein, es stimmt etwas mit deinem ansatz nicht denke ich

    einerseits: poste relevanten, erzeugten html-code - deiner ist nicht aber denke ich wenig geeignet, da du das layout quasi schon festzimmerst und eine tabellenartig struktur nachbildest

    versuchs mit einer liste und generiere exakt diesen code

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

    nimm den ul und li die listenaufzählungszeichen weg, entferne margin und padding und definere für die li elemente eine breite und höhe und lasse sie links floaten - das ul-element bekommt lediglich eine fixe breite die extat dem n-fachen der breite der listenelemente entspricht, die nebeneinander stehen sollen - wenn 5 kästen nebeneinander sein sollen ist das ul 5x so breit wie die li-elemente

    vorteile:

    • wieviele nebeneinander sind, bestimmst du mit css und nicht in einem php-scriot
      wen
    • weniger html-code
    • weniger css-code
    • weniger php-code

    alternativ kannst du die ul und li-elemente gegen divs austauschen, wenn du auf div-suppen abfährst ;)

    aber ich denke, dass eine liste gut geeignet ist