最近改程序,一个报表打印的部分,要求是web打印出来的内容也要严格按照内容分页。
一开始,我想大不了就控制显示的尺寸,使其与打印纸一页的大小吻合,不就简单的完成了控制换页。但是虽然自认dhtml方面的定位已经很在行,但是毕竟默认浏览器显示的尺寸单位是象素,而打印出来还是物理尺寸,从象素到厘米,以普通windows下1 in = 96 px,以及1 in = 2.54cm来计算,总归不好精确计算。试了一下,感觉还是不方便。
于是查了一下资料,发现居然web页面也支持换页符!正好可以满足我的要求,于是试了一下。简单好用!
只需要定义一个css样式,既可方便完成打印换页。
以下将此样式标记的介绍贴出来看看
语法:
page-break-after :
auto |
always |
avoid |
left |
right |
null
取值:
auto | : | 假如需要在对象之后插入页分割符 |
always | : | 始终在对象之后插入页分割符 |
avoid | : | 未支持。避免在对象后面插入页分割符 |
left | : | 未支持。在对象后面插入页分割符直到它到达一个空白的左页边 |
right | : | 未支持。在对象后面插入页分割符直到它到达一个空白的右页边 |
null | : | 空白字符串。取消页分割符设置 |
说明:
检索或设置对象后出现的页分割符。
此属性在打印文档时发生作用。此属性不作用于 BR 或 HR 对象。
假如在浏览器已显示的对象上此属性和 page-break-before 属性的值之间发生冲突,则导致最大数目分页的值被使用。
页分隔符不允许出现在定位对象内部。
在IE6及之前版本浏览器中, left 和 right 值的作用结果等同于 always 。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为 pageBreakAfter 。
此属性在打印文档时发生作用。此属性不作用于 BR 或 HR 对象。
假如在浏览器已显示的对象上此属性和 page-break-before 属性的值之间发生冲突,则导致最大数目分页的值被使用。
页分隔符不允许出现在定位对象内部。
在IE6及之前版本浏览器中, left 和 right 值的作用结果等同于 always 。
此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为 pageBreakAfter 。
示例:
p { page-break-after: always;}