Flex tile 容器将在数据更改时创建和删除 tile,并且似乎很适合在内容动态的区域使用。如何在 HTML 中实现此功能?我想我们需要使用一些 JS 和/或 CSS。有什么意见吗?
最佳答案
您可以完全忽略 CSS(用于布局),并按照 flex 实现它的方式执行此操作。在不提供代码本身的情况下,这是基本思想(假设水平布局):
- 添加 child 时,将其添加到前一个 sibling 的右侧。 (
c.y = s.y+s.width
)。 - 检查当前子项是否超过父项的宽度。 (
c.y + c.width > p.width
)。如果是这样,把它放到下一个“行”。
当然,事情会变得更复杂,具体取决于您是要执行 TileContainer 还是 FlowContainer。 .布局应该看起来像网格,还是应该像段落环绕一样更有机? (如果你想要段落换行,我认为让一切都“ float :左”会为你做到这一点,但如果我错了请纠正我。)。假设 TileContainer 的想法,你只需要遍历所有的 child ,并确保他们有相同的高度/宽度(== max child height, max child width),然后做上面提到的布局步骤。您可能希望将每个子项放在一个容器 div 中,以便更轻松地控制不能很好地调整大小的元素。
最后,只需确保监听任何窗口调整大小事件,以便运行布局算法。
如果您需要提示,请查看 Flex 中“TileBase.as”中的算法,但自己动手可能更容易。
关于javascript - 在 HTML 中获取 Flex Tile Container 的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1428984/