• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
使用样式动态创建页首、页脚和换页符
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
使用样式动态创建页首、页脚和换页符
软件发布 使用样式动态创建页首、页脚和换页符
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 办公软件 >> 办公其他 >> 使用样式动态创建页首、页脚和换页符

使用样式动态创建页首、页脚和换页符

添加时间: 2007-3-3 6:06:05  作者: 第九软件网  阅读次数:103   来源: http://www.d9soft.com

           在仔细阅读一个讨论区的时候,我读到了一个开发人员提出的问题,他正在努力编程在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是页首的高度。

 

上下文章:

 

上一篇文章: 个性日历自己做 下一篇文章: 浅谈虚拟打印机的奇妙用途(多图)

相关文章:

  • “瑞星全功能2009体验版”使用说明
  • 搜狗手机输入法的使用技巧最全整理
  • 如何手动创建oracle数据库
  • 使用C++ TR1 生成随机数
  • 鲍尔默:谷歌办公软件使用率极低

相关软件:

  • QQ搞笑表情gif动态图片集 V1.0 最新版
  • 动态壁纸王 3.6
  • 金万维动态域名gnHost客户端 V3.1.8 For Windows
  • 金万维动态域名gnHost客户端 V1.3.2 For Linux
  • 动态桌面设定器 V2.6.0.0
  • 虚拟DOS引导系统创建工具 V6.0 简体绿色版

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

办公软件分类导航

  • Office
  • Word
  • Excel
  • PowerPoint
  • OutLook
  • IE
  • WPS Office
  • 永中Office
  • 邮件处理
  • 办公其他

本类经典文章推荐

  • 办公技巧:自制拼音音标工具栏
  • DIY你的输入体验:万能五笔6.42评...
  • 用友票据通――票据打印机的终结者
  • 票据打印的新时代--用友票据通
  • 怎样避免复制隐含的内容?
  • 终极比拼:八款主流翻译软件横向对...
  • 妙手生花:赶走文本中的“小黑子”
  • 不用图像处理软件改用金山文字来绘...
  • 做一张能亮"红绿灯"的学...
  • 协同制作软件产品文档解决方案

办公其他阅读排行

  • 无需求人 自创书法签名
  • 个性日历自己做
  • 用InfoPath制作“用车申请表”
  • 轻轻松松简体字立刻转繁体字
  • 用PPT演示动态数据透视图
  • 为你搜罗2006年值得推荐的日语学习...
  • 选取PDF文字
  • 更改打印设置,让您的工作更加方便
  • 使用RedOffice轻松制作工资表
  • OCR无法识别JPG

办公软件阅读总排行

  • 微软Office 2007 beta 2全程体验—...
  • 金山词霸PDF文档取词攻略
  • 巧用Excel函数来实现工作表间的数...
  • 同一篇Word文档设置多个不同的页眉...
  • 禁止CTFMON.EXE自动加载
  • 制作多种图表类型并存的Excel图表
  • Word长文档的制作技巧(2)
  • 金山词霸2003疑难解答
  • 正规公文制作有一套
  • Office组件轻松把PDF文件转成Word...

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有