• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

BOX Layout verschieden große DIV's

seric

Neues Mitglied
Hallo,

wie auf dem Bild zu sehen ist möchte ich ein Layout erstellen dessen Div's unterschiedliche Größen habe. also 250x200 250x400 500x400 usw...
jedoch sollen sich die Boxen in die Freien flachen "floaten". Wie gehe ich da am besten vor?

Vielen Dank!
 

Anhänge

  • Bildschirmfoto 2011-09-30 um 11.34.46.jpg
    Bildschirmfoto 2011-09-30 um 11.34.46.jpg
    6,8 KB · Aufrufe: 19
Schwierig. Ich habe sowas mal gelöst indem ich per Programmiersprache gezählt habe wieviele schon in einer Reihe stehen. Wenn dann, wie auf deinem Bild, schon 2 in einer Reihe waren, wurde das dritte mit "float: right;" im HTML vor die anderen gesetzt, wodurch die Ansicht dann stimmte. Mit purem CSS geht das imho nicht.
 
Hallo, (hatte schon geschrieben, nur vergessen meine Antwort abzuschicken :) )

ich glaube es gibt keine direkte Möglichkeit die entstandene Lücke zu füllen, wenn du nur mit diesen Divs arbeitest und floatest.
Ich hoffe ich habe es richtig verstanden: Der Div Container ganz unten links, sollte in der weißen Lücke darüber sein?

Idee 1: Unter den ersten Div ein Div setzen. Jedoch sind dann alle anderen Divs unterhalb dieser Divs. Geht also nicht!
Idee2: Float:right; statt float:left; probieren. Hat selbes Ergebnis nur umgedreht. Ist ja auch logisch, dass wenn sich das Div am vorherigen Div floaten möchte, dort aber kein Platz ist, dass es nach unten rutscht.

Die lösung ist also, die beiden ersten Divs in ein Div zu packen: Oben links und ein weiteres Div, das unter dieses soll zusammen in ein Div zu packen.

So sollte das dann aussehen (Eventuell mit anderen maßen aber mit selbem Prinzip wie bei deinem Bild):

Code:
<?xml version="1.0" ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>Test Page von Marv</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 </head>
 <body>
 
 <div style="width:300px;">
 <div style="float:left;">
     <div style="color:red;border:1px solid blue; width:98px;height:98px;">1</div>
     <div style="color:red;border:1px solid blue; width:98px;height:98px;">2</div>
 </div>
 <div style="color:red;border:1px solid blue; width:98px;height:198px;float:left;">3</div>
 <div style="color:red;border:1px solid blue; width:98px;height:98px;float:left;">4</div>
 <div style="color:red;border:1px solid blue; width:98px;height:98px;float:left;">5</div>
 <div style="color:red;border:1px solid blue; width:98px;height:98px;float:left;">6</div>
 <div style="color:red;border:1px solid blue; width:98px;height:98px;float:left;">7</div>
 <div style="color:red;border:1px solid blue; width:98px;height:98px;float:left;">8</div>
 
 </div>
 </body>
 </html>

Ich hoffe, ich konnte damit helfen.
 
Das ist ein Beispiel dafür, wo ein Tabellenlayout ausnahmsweise mal Sinn machen würde. Damit ließe sich diese Aufgabe ganz einfach lösen.
 
Soll denn nur ein einziges festes Layout umgesetzt werden (unproblematisch) oder geht es um eine flexible Lösung für beliebige Variationen von Kästengrößen und -abfolgen?

Im zweiten Fall könntest du dir jQuery Masonry ansehen.
 
Zurück
Oben