html kann (tatsächlich tut wirklich wichtig ist):
<div class="3col_vert">
<div>a</div>
<div>b</div>
<div>c</div>
<div>d</div>
...
</div>
In Javascripts (Beispiel in jquery insbesondere), müssen Sie sie mit cols wickeln, so dass die resultierende HTML (nach der Manipulation von JavaScript) werden wird:
<div class="3col_vert">
<div class="col_left">
<div>a</div> ...
</div>
<div class="col_centre">
<div>e</div> ...
</div>
<div class="col_right">
<div>g</div> ...
</div>
</div>
JQuery wird mainpulate sein:
var vert_divs = $(".3col_vert div");
// Remove them from parent
$(".3col_vert").empty()
.append("<div class='col_left'></div>") // append the wrapper cols to parent
.append("<div class='col_center'></div>")
.append("<div class='col_right'></div>");
// Now place them to the wrappers
var totalDivs = vert_divs.length; // count number of match divs
vert_divs.each(function(i) {
if (i < totalDivs/3)
$(this).appendTo(".3col_vert div.col_left");
else if (i<totalDivs * 2/3)
$(this).appendTo(".3col_vert div.col_center");
else
$(this).appendTo(".3col_vert div.col_right");
});
Die c Ode oben ist nicht zu optimiert (ich bin sicher, dass viele bessere Algorithmus tun können), aber die Idee ist da, verwenden Sie Javascript, um die HTML in etwas wie die oben genannten zu manipulieren, indem Sie die erste 1/3 nach links Spalte, zweite 1/3 zu zentrieren, und der Rest nach rechts. Der letzte Job ist die Verwendung von CSS, um sie in 3 Spalten zu fassen, was ich hier nicht behandeln werde, aber es gibt Unmengen an Tutorials, zum Beispiel this one ist eines dieser Beispiele.
Sie erwähnten "Browser" verwendet. Ich denke, reines CSS ist nicht möglich. Aber Sie können es sicherlich Javascript tun. Suchst du auch nach Möglichkeiten in Javascript? – xandy
Sicher, ich bin offen für Javascript. –