テキスト情報を含むDIVがたくさんあります。それらはすべて同じ幅(おそらく400px程度)ですが、高さが異なります。スペース上の理由から、これらのDIVを2列または3列に配置したいと思います(新聞の求人広告セクションのようなものです)。以下の魅力的なアスキーアートを参照してください:)
DIV1 DIV3
DIV1 DIV3
DIV1
DIV1 DIV4
DIV1 DIV4
DIV1 DIV4
DIV4
DIV2 DIV4
DIV2
DIVはjavascript駆動型であり、ページの読み込み時に高さが変更されます。また、順序を変更するべきではありません(各DIVにはタイトルがあり、アルファベット順にソートされています)。
これまでのところ、私はそれを行うための良い方法を見つけていません。HTMLフローは左から右、次に上から下ですが、上から下、次に左から右が必要です。
2つの列を持つテーブルの単純な実装を試しましたが、一方の列にDIVがあり、もう一方の列に残りの半分があります。妥当に見える時間をとってください(各列のDIVの平均の高さが近くなると)、残りの半分はひどいように見えます。
私がjavascriptの第一人者であれば、DIVを拡張した後で測定し、合計して、実行時に1つのテーブル列から別のテーブル列に移動できると思います...しかし、それは私の能力を超えており、よくわかりません。とにかく可能です。
助言がありますか?
ありがとう
アップデート:
コメントありがとうございます。私が質問をするという貧弱な仕事をしたことは明らかです:(
DIVは、類似したコンテンツを含む/グループ化するための単なる方法であり、実際にはレイアウト自体に使用するものではありません。それらはすべて同じ幅ですが、高さが異なります。ページに吐き出したいだけで魔法のように:)それらを2つの列に配置します。ここで、2つの列の高さは、新聞の列のようにほぼ同じです。開始時にDIVの高さがわからないため、各DIVを配置する列がわかりません(つまり、高さがわかっている場合は、2つのテーブルセルに分割しますが、わかりません。知っている)。したがって、上記の例は単純な例です。実行時に、DIV 1が他の3つを組み合わせたものよりも大きいことが判明する場合があります(この場合、DIV2はcolumn2の先頭にフロートする必要があります)。大きなもの(この場合、DIV 1、2、および3はすべてcolumn1にあり、DIV4はcolumn2に単独である可能性があります)
基本的に、2つの列を作成し、必要に応じてコンテンツをcolumn1からcolumn2に魔法のように流す方法があることを望んでいました(Wordのように)。これはできないと思いますが、私のHTML / CSSの知識はかなり基本的なものなので、多分...?