我需要的是页脚打印在每页底部(当它打印在纸上,而不是打印在屏幕上时,这很容易)......
我正在使用表格,我知道表格不好,我通常不使用它们,但这是一个特殊情况:(我使用的是C#webBrowser控件,只使用HTML格式化文档进行打印)。
它工作正常,除了最后页面上的页脚打印...它位于底部的第一页,因为页面内容将其推到底部,但在最后一页,它只是在内容的底部仍然(并且内容不会到达页面底部)
这是一个要显示的图像(这是我打开webBrowser的预览版)。不介意绿色文本,只是在那里进行测试。
good and bad footer http://pdem.info/badfooter.png
如您所见,在左侧,页脚被内容强制在底部,而在右侧,页脚相对于内容处于相同的位置,但我希望它位于底部!
我的页脚的片段只是:
<tfoot id='footer'><tr><td>Your footer goes here</td></tr></tfoot>
有关如何强制页脚位于底部的任何想法?如果有办法让它像那样工作,我不反对使用div!
========= EDIT =========
以下是一些代码:
css:
@media print {
thead { display: table-header-group; }
tfoot { display: table-footer-group; }
//I have tried doing position:absolute/fixed with values in pixes and percents
}
@media screen {
thead { display: none; }
tfoot { display: none; }
}
填充webBrowser控件的代码:
web_display.DocumentText = "";
web_display.Document.Write("<body><table id='tblCont'><thead><tr><td>Your header goes here</td></tr></thead>" +
"<tbody><tr><td>");
web_display.Document.Write("<body><basefont size='2' face='verdana'>");
web_display.Document.Write("<ul " +
"style='list-style:none;"+
"padding-left:0px;"+
"margin-left:0px;"+
"'>");
foreach (TNode part in tn.Nodes) {
web_display.Document.Write("<li><strong>" + part.Text + "</strong>");
web_display.Document.Write("<ul style='list-style:none;'>");
foreach (TNode node in part.Nodes) {
web_display.Document.Write("<li><strong>" + node.Text + "</strong></li>");
web_display.Document.Write("<ol>");//this list will hold the textblock text
addTextBlk(web_display, node);
web_display.Document.Write("</ol>");//end textblock list
web_display.Document.Write("<br style='line-height:6px;'/>");
}
web_display.Document.Write("</ul>");//end lvl2 list
web_display.Document.Write("</li>");//end part item
}
web_display.Document.Write("</ul>");//end part list
//web_display.Document.Write("</li>");//end section item
web_display.Document.Write("<br />");
//web_display.Document.Write("</ul>");//end section list
web_display.Document.Write("</td></tr></tbody><tfoot id='footer'><tr><td>Your footer goes here</td></tr></tfoot>" +
"</table><div id='newFooter'>This is footer text</div></body>");
答案 0 :(得分:0)
<style type="text/css">
#footer
{
position:absolute;
left:200px;
top:750px;
}
</style>
更改左侧:和上方:以适合您的页面。 这将把它绝对放在你想要的确切位置。
答案 1 :(得分:0)
编辑 - 注意:我的解决方案是在看起来可能是编辑之前发布的(在我第一次阅读问题时没有显示图片,而且信息较少)关于更改它的问题,答案现在无关紧要。无论如何,这可能会帮助你。
为了通过多个页面保持一致,我个人会使用div。
下一个选项,CSS喜欢(我不知道这是否会起作用)
#footer {
height:100%;
vertical-align:bottom;
}
编辑结束此处
我使用打印和屏幕媒体类型,在您的页面中包含这样的样式表:
<link rel="stylesheet" href="style.css" type="text/css" media="print" />
确保您的其他“屏幕”样式表标记为media =“screen”
现在在你的样式表中放入你的页脚代码,因为你希望看到它打印出来,在这个例子中我使用的是div标签:
#print_footer { border:0 solid #333; font-family:arial; font-size:8px; color:#000; margin-bottom:0; }
打开正常的“屏幕”样式表添加以下类
.no_screen { display:none; }
这将阻止元素在屏幕上显示。
在您的页面中创建您的DIV
<div id="print_footer" class="no_screen">Copyright © 2011 Ryan. All rights reserved.</div>
我希望这会有所帮助。