首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将一个巨大的div拆分成多个div?

如何将一个巨大的div拆分成多个div?
EN

Stack Overflow用户
提问于 2012-11-09 04:17:12
回答 1查看 1.8K关注 0票数 2

我有一项任务,我不确定如何最好地完成它。因此,我想要一些意见或建议:)

好的,这就是我需要做的。

我有一个包含发送到打印机的内容的页面(它包含div、p、span、h1、h2、h3、hr、a等标记中的图像和文本)。假设它大约有1500像素高。

我有一个容器div,比方说300x500像素。

我需要获取包含所有内容的页面,并将这些内容拆分为div。

所以:

代码语言:javascript
运行
复制
_______________
|              |
|              |
|              |
|   Content    |
|              |
|              |
|              |
|______________|

包含以下内容:

代码语言:javascript
运行
复制
_______________
|   Part 1     |
|______________|
|   Part 2     |
|______________|
|   Part 3     |
|______________|
|   Part 4     |
|______________|

但我的问题是,我如何在页面上获得一个包含多个元素的巨大对象,并遍历它,并确定这个div应该被一分为二,放在第1部分和第2部分中,因为它不能放入第1部分的剩余空间中?我如何确定哪些是剩余的,哪些不是?

我的想法是将body标记的整个内容读入一个变量,循环遍历每个元素,并将其添加到另一个具有剩余空间的变量中,我可以根据DOM元素的高度和宽度来确定。但我不确定这是不是最好的主意。

EN

Stack Overflow用户

回答已采纳

发布于 2012-11-09 06:29:32

如果使用蛮力类型的方法不是不可能,那么使用下面这样的方法应该是可行的:

  • 将所有内容放入div 1中
  • 开始将div 1中的内容放入div 2中,直到div 1具有正确的大小
  • 重复过程

另一种方法是遍历div中的每个节点,对总高度求和,直到超过限制。此时,后退一步,开始将内容移动到下一个div,重复该过程。

如果您的页面在单个文本节点中有很多文本,那么这可能有点棘手。您很可能需要实现某种系统来拆分文本节点,以便能够计算单个文本块的高度,并能够在div之间拆分它们。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13297080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档