我正在尝试创建一个 html 页面,用于使用浏览器打印数据。我需要包含一个页脚,打印时该页脚将显示在底部的每一页中,并且我已经开发了以下代码来实现此功能。
下面的代码工作正常,但问题是当我的 div
content
中的内容足够长以使用户向下滚动页面时,此时如果我转到 Google Chrome 的打印选项并查看打印预览,我可以看到页脚显示在第一页中,但没有显示在其余页面中。但同样的代码可以在 Firefox 中使用,并且页脚显示在所有打印页面中(甚至显示在打印预览中)。
您能帮我在使用 Google chrome 打印时在每页中显示页脚吗?
谢谢:)
<html>
<head>
<style type="text/css">
html {margin:0;padding:0;border:0; overflow-y: scroll;}
body { font-size:75%;color:#222; font-family: Geneva, Arial, Helvetica, sans-serif;}
#container {margin:0 auto; height:100%; }
#content{}
#footer {position: fixed ; left: 0px; bottom: 0px; right: 0px; font-size:10px; }
</style>
</head>
<body>
<div id="container">
<div id="content">
My Contents
</div>
<div id="footer">This is my Footer</div>
</div>
</body>
</html>
页脚的父元素应该有
position: relative
它的父元素是 body
所以把它给 body 或 container
http://jsfiddle.net/jXujq/查看CSS代码...
对于仍然面临此问题的任何人,我创建了一个可以解决此问题的开源库。它允许从 Chrome 打印重复的页眉和页脚,具体取决于 html 的结构。看这个答案:
我在页脚这个事情上花了很多时间,我可以在 IE 上使用position:fixed和bottom 0来做到这一点,并有一些正文边距以避免内容与页脚重叠。
但是对于 chrome,我能够做类似事情的唯一方法是使用 javascript 来计算将页脚推到底部所需的空白(通过将该值分配给空 div):-
var printPageHeight = 1900; //(have to test this value)
var mFooter = $("#footer");
var bottomPos = mFooter.position().top + mFooter.height();
var remainingGap = (bottomPos <printPageHeight ) ? (printPageHeight -bottomPos) : printPageHeight - (bottomPos % printPageHeight );
$("#whiteSpaceToPositionFooter").css("height", remainingGap+"px");
但是,获得正确的打印页面的尺寸/高度是非常困难的,并且 jquery 的 height() 方法不考虑边距和高度。
您需要在页脚中设置:
position:fixed;
bottom:0;
hkbibvakwlmlkm wv vwokpowmv ssdvsvdqvqve
也许这对你有帮助?