教你如何创建页首页脚和换页符

今天来聊聊一篇关于教你如何创建页首页脚和换页符的文章,现在就为大家来简单介绍下教你如何创建页首页脚和换页符,希望对各位小伙伴们有所帮助。
在仔细阅读一个讨论区的时候,我读到了一个开发人员提出的问题,他正在努力编程在HTML页面里自动创建页首和页脚并插入换页符。这还没有去考虑你的输出会是什么,因为弄清浏览器对空白、页面大小等的当前设置很难。然而,如果确实想要强制指定宽度和换页符,你也可以实现。
实现这一目的的一种方法是使用TABLE。在本文里,我将向你演示如何把页首和页脚动态地插到页面里,从而构成格式化的页面。(请注意:这里我使用IE 6.0来测试代码。它也可以在5.0和更高版本的浏览器上使用,因为我使用了从IE 5.0以来STYLE元素都可以使用的@media伪类。)
实现这一功能最简单的方法是使用TABLE。然而,你的格式化的输出必须包括单独的行,而且它们不能超过打印页面的高度。此外,你的TABLE一定不能超过打印页面的宽度。由于你无法控制风景画或者肖像画,所以你必须进行一些假设。你要假定文档的方向是肖像画,左右边距是1"(2.54厘米),上下边距0.25"(0.64厘米),纸张的大小是8.5"(21.59厘米)X 11"(27.94厘米)。这就意味着输出的总宽度是6.5"(16.51厘米),所以你的TABLE宽度应该被设置为6.5in、无边界。在表格的顶端,你要创建两个隐藏的DIV,它们将作为页首和页脚。DIV有设定好的宽度和高度,overflow样式属性被设置为hidden(隐藏)。这就为你的输出打下了基础。为了创建换页符、页首和页脚,你必须在page load后面加入一些JavaScript。
创建格式化输出的想法是把页首和页脚DIVS复制到隐藏的行里。但是,你要把@media print的显示样式设置为inline。而且,你要把页首之前的TR的page-break-after样式属性设置为always。
在BODY onload事件期间,在所有的行里迭代,以确定行的offsetTop加上offsetHeight是否超过了页面可用的长度。可用长度是页面的长度减去页首、页脚、上下空白的总高度。所以,如果页首的高度和页脚的高度都是1”,那么上下的空白就是0.25",页面的长度是11",那么可用的宽度就是8.5":11 - (1 x 2) - (0.25 x 2) = 8.5。
下面就是实现这一任务的HTML代码:
在查看上面的示例代码时,你会注意到页首和页脚是两个放在TABLE元素前面的DIV。TABLE tbl1包含多个TR。每一行都被标识为t1,以便使用all集合帮助在它们中间迭代。这个例子只能用于超过两行的页面。我创建了一个hdrftr,用来识别这些项目应该在什么时候显示。JavaScript代码则详细叙述了这个功能是如何被创建的。
首先,一个页首行被加到表格的顶端。然后,每个行都会被检查,以确定top坐标加上行的高度加上页脚的高度——1in * screen.deviceYDPI或者仅仅screen.deviceYDPI——达到或者超过可用的总高度。如果这个值符合可用的高度,那么当前的行就被设置为后面有一个换页符。如果这个值超过了可用高度,那么就会在前一行后面设置换页符。然后,相关的行后面就会加入一个页脚,而页脚后面接着就是页首。这一过程一直持续到所有的行都被检查到。最后,一个页脚行被加到表格的末端。页脚行包括有绝对位置,以防止浏览器无意中分页,而这可能会导致错误发生。而且,后面的每个页面都必须为我们另外添加的页首行做好准备:(页面 – 1)* 1,这里(页面 – 1)是后面的页面数,而1是页首的高度。
相信通过教你如何创建页首页脚和换页符这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
刘伟国说大连队从来不掉链子刘伟国在相关采访当中谈及大连队的赛场表现,给出了大连队从来不掉链子的评价,这...浏览全文>>
-
克雷桑回应对阵成都蓉城在山东泰山客场 5 比 3 击败武汉三镇的赛后采访中,完成两球一助攻的克雷桑被问到...浏览全文>>
-
核心内容,65 岁老人的养老金分为职工养老金和城乡居民养老金两类,标准并不统一。2026 年人社部、财政部暂...浏览全文>>
-
核心内容,2026 年山东省职工养老金调整的标准和细则还没有对外公布,人社部、财政部尚未印发全国统一的职工...浏览全文>>
-
核心内容,退休养老年金保险属于商业养老保险,和职工养老、城乡居民基础养老金不属于同一体系,2026 年人社...浏览全文>>
-
核心内容,2026 年职工养老金上涨的全国统一文件还没有发布,人社部、财政部暂未下发职工养老金调整通知,职...浏览全文>>
-
核心内容,目前 2026 年山东职工养老金每人能够上调多少钱还没有官方答案,人社部、财政部还没有出台全国统...浏览全文>>
-
核心内容,2026 年职工养老金调整正式政策文件尚未出台,人社部、财政部还没有发布全国统一的职工养老金上调...浏览全文>>
-
核心内容,个人养老年金一般指个人养老金制度下的年金类产品,是我国养老第三支柱的组成部分,和职工基本养老...浏览全文>>
-
核心内容,个人储蓄型养老金保险属于商业养老补充产品,和职工养老金、城乡居民基础养老金分属不同养老体系,2...浏览全文>>
- 2026年退休养老年金保险有哪些类型呢产品分类讲解
- 2026年养老金上涨最新消息如何汇总查看呢查看方法指南
- 2026年个人储蓄型养老金保险有哪些特点产品属性讲解
- 最新消息2026年缴费档次明细包含哪些分居民养老缴费档次和灵活就业缴费基数档次两类
- 2026年2014年10月退休人员养老金补发消息解读中人养老金补发相关安排
- 最新消息2026年北京养老金补发时间大致会安排在什么时候呢职工养老城乡居民养老发放时间解读
- 最新消息2026年天津养老金实际到账情况会是什么样呢职工养老和城乡居民养老到账说明
- 最新消息2026年天津养老金涨幅能够达到什么水平呢职工养老城乡居民养老涨幅解读
- 最新消息2026年天津机关单位养老金会迎来哪些调整变化呢事退人员养老待遇政策解读
- 最新消息2026年今年天津养老金对应的退休金补发通知是否已经发布呢政策进展科普
- 克雷桑回应对阵成都蓉城
- 2026年江西65岁老人养老金标准是多少待遇说明
- 最新消息2026年山东养老金上调了多少钱呢职工养老金上调金额暂未确定居民基础养老金底线上调20元
- 最新消息2026年重庆养老金有多少职工养老金标准待调待发文居民基础养老金底线提升
- 最新消息2026年山西养老金调整缴费指南是什么调待方案待发文缴费规则保持稳定
- 最新消息2026年辽宁退休养老金计算方法是什么计发公式保持不变年度上调方案暂未发布
- 最新消息2026年黑龙江养老金档次分为哪些居民养老设缴费档次职工养老金无固定档次划分
- 最新消息2026年农民补助的20元养老金几月份可以发放呢城乡居民基础养老金提标发放时间说明
- 最新消息2026年北京养老金每月能够领取到多少待遇呢职工养老和城乡居民养老待遇说明
- 最新消息2026年北京养老金的计算方法具体会包含哪些要点呢职工养老居民养老计算要点科普
- 2026年养老金调整解读是什么政策思路说明
- 最新消息2026年河北养老金每年可以领多少职工养老金因人而异居民基础养老金底线上调
- 最新消息2026年吉林企业退休养老金上调了吗职工调待暂未启动居民基础养老金底线提标
- 最新消息2026年10月养老金调整发放时间是什么时候呢职工养老和城乡居民养老调待发放安排解读
- 最新消息2026年退休金上调最新消息都有哪些呢职工养老和城乡居民养老政策汇总解读
- 最新消息2026年北京养老金定额调整细则会如何设定呢北京职工养老调待方向分析
- 2026年天津养老金交满15年之后可以领取多少待遇天津职工与城乡居民养老待遇测算参考
- 最新消息2026年天津企退人员养老金相关细则会包含哪些内容政策前瞻解读
- 最新消息2026年上海养老金调整最新消息今天更新了哪些内容呢职工养老和城乡居民养老资讯解读
- 最新消息2026年上海养老金补发会在什么时间完成到账呢政策前瞻说明
- 最新消息2026年上海养老金预测会存在哪些可能性呢调整方向前瞻科普
- 最新消息2026年上海城乡居民养老金每月可以拿到多少待遇呢上海城乡居保待遇测算说明
- 最新消息2026年农民养老金标准会调整到什么水平呢城乡居民养老待遇解读
- 最新消息2026年上海养老金定额调整方案会如何规划呢政策前瞻解读
- 最新消息2026年养老金整体调整趋势会朝着哪个方向发展呢养老政策走向解读
- 最新消息2026年养老金养老细则全文会包含哪些关键信息呢职工养老调待文件核心内容科普
- 最新消息2026年上海养老金网传明天补发退休金的消息是否属实呢消息核实解读
- 最新消息2026年河北养老金上调最新消息传递了哪些政策信号呢政策信号解读
- 最新消息2026年河北养老金测算可以参考哪些政策条件呢测算依据科普
- 湘超长沙锁定常规赛第一
