我已經給出了一個設計來創建HTML/CSS,我認爲這可能是不可能的,但我想在我承認失敗之前絕對確定並採取妥協。如何根據子元素的寬度高效地分配列寬?
許多含有可變長度的文本項被佈置成多組的兩個這樣使得它們形成在列在可用寬度分佈準確列,但確保每列是不超過它的最寬的項目更寬。因此它儘可能高效地使用水平空間,同時仍然確保項目完美對齊作爲網格。考慮這個例子 -
[-a--] [-cccccc-] [-eee-] [-g---]
[-bb-] [-dddd---] [-ff--] [-hhh-]
也許這看起來扁平,但考慮到該項目還必須包裹當容器縮小,仍列保持自己的神奇對準 -
[-a---] [-cccccc-]
[-bb--] [-dddd---]
[-eee-] [-g------]
[-ff--] [-hhh----]
我不能工作了解如何解決寬度的遞歸依賴關係。也就是說,每個「列」的寬度由該列中最長的項目定義,但總可用寬度是已知的,並且必須是列寬度的精確總和。
我很高興能夠使用僅適用於CSS3的解決方案,迴歸到舊版瀏覽器的固定項目寬度解決方案,但我完全難以理解哪些CSS屬性可以實現這種魔力。
只是爲了提供某種形式的起點,這裏有一個Codepen使用CSS3列:http://codepen.io/anon/pen/kiGgp
這已經不是什麼好列均勻分佈的,我想知道是否有一種方法來分配這些最佳替代。
我想你將不得不使用一些JavaScript的魔術。 – powerbuoy
@powerbuoy最後的手段,但我懷疑你是對的 – Tim
我也會用JavaScript。使其變得更加動態化會更容易。 jQuery會更好。 –