假设我有自己的标记语言,它允许我使用一组 TextElements 和 ImageElements。它们中的每一个都可以具有诸如“float:left/right/none”和“clear:none/left/right/both”之类的属性。此外,非浮动元素可以在浮动元素周围流动。基本上,都喜欢 CSS 浮动布局。
例如:
Elem1 Elem2 Elem3 Elem4 Elem5 _ Elem6
在我布置这些元素时,用于存储这些元素的最佳数据结构是什么?我需要一些可以轻松回答以下问题的东西:
- 是否有足够的空间容纳 Element1 的左侧或右侧的 Element2?
- Element1的页面坐标,原点和大小是多少?
我将基本上存储一个结构,如:
{元素,原点(x,y),大小(w,h)}
对于此数据结构中的每个已布局的元素。
有诸如 RTrees、QuadTrees 之类的东西,但我想要一些简单的东西来抽象地表示页面上矩形的布局,以便在我的布局算法中使用。
注意:我不是在 HTML 中这样做,它是用于 iOS 应用程序中的元素布局,并且我不能使用 iOS 6 约束,因为我需要支持早期的 iOS 版本。
谢谢!