css: float Blöcke um den gesamten freien Speicherplatz zu belegen

8

Ich versuche ein "Bildmosaik" zu erstellen, das hauptsächlich aus Bildern derselben Größe besteht, von denen einige die doppelte Höhe haben.

Sie sollten alle sauber ausrichten so:

Um die automatische Erzeugung dieser Mosaik so einfach wie möglich zu machen, dachte ich, sie zu schweben wäre die beste Option. Leider bewirkt der große Block, dass die folgenden dahinter fließen, aber nicht vorher:

Was kann ich tun - abgesehen davon, dass ich sie manuell positioniere -, um die Bilder an den gewünschten Ort zu bringen, und trotzdem leicht automatische Layouts erstellen zu können?

Der Code, den ich momentan verwende, ist:

FIDDLE

HTML:

%Vor%

CSS:

%Vor%     
cweiske 07.03.2012, 20:56
quelle

4 Antworten

2

Sie müssen Javascript verwenden, um diesen Effekt zu erzielen, ich musste das einmal tun und ich verwendete Ссылка - hat gut funktioniert!

    
allaire 07.03.2012, 20:59
quelle
1

Sie können ein Spaltenlayout wie folgt verwenden: Ссылка

Ich weiß nicht, ob das mit Ihrem Automatisierungsprozess kollidiert, aber ....

    
es_beto 07.03.2012 23:52
quelle
0

Pure CSS-Lösung

Getestet in Firefox, IE8 + (IE7 sieht so aus, als müsste es um einen oberen Rand erweitert werden, der zu 2.1 hinzugefügt wurde, weil er 1.1 überlappt). Siehe Geige . Dies setzt voraus, dass .h2 das mittlere Div (wie in Ihrem Beispiel) ist. Wenn am meisten div übrig gelassen wird, sollte es keine Änderung benötigen. Wenn Sie am rechten Rand sind, müssten Sie den negativen Rand erweitern, um auch den dritten div zu enthalten.

%Vor%     
ScottS 07.03.2012 22:05
quelle
0

Mir ist klar, dass dies keine CSS-Lösung ist, sondern für das, was es wert ist ( JSFiddle ):

HTML:

%Vor%

CSS:

%Vor%

JS:

%Vor%     
Trevor 25.03.2014 18:55
quelle

Tags und Links