为用户提供适合打印的页面选项的最佳方法是什么?

时间:2012-09-23 01:46:49

标签: asp.net css printing stylesheet

我的网站是asp.net 4 / vb。我正在试图找出制作打印机友好页面的最佳方法,该页面仅在顶部包含我们的徽标和相关信息,但省略了诸如导航栏和其他不必要的事情。我有一个点击打印图标,它可以在所有浏览器中正常工作,但它并不总是打印出来适合打印机。

我在这个网站上读过有关制作print.css样式表的内容,但我不确定如何编写样式表代码,或者我是否必须将div属性分配给我想要省略的东西 - 以及这些帖子是较旧的帖子。是否建议省略导航链接等,如果是,那么最好的方法是什么?谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

您可以使用CSS @media类型。

<p> this should be part of the printed page </p>

<div id="navigation_bar_that_should_not_be printed" class="noprint">.....</div>

上述简单的样式表将是:

@media screen
{
   /* whatever styles you have for display */
}

@media print
{
   .noprint { display: none; }
}

在上文中,带有<div>的{​​{1}}将照常显示在屏幕上,但不会打印。


更新

class="noprint"中的“C”代表“级联” - 意味着“最后”或最接近的指令获胜。我只能假设CSS(是 last或最近的)覆盖了div。

ASP.Net控件有一个<span class="bodycontent"...属性,就是你如何定义它:

CssClass

你甚至可以在任何ASP.Net标签中直接输入<asp:HyperLink NavigateUrl="http://www.google.com" runat="server" CssClass="noprint" Text="foo" /> (而不是使用CssClass) - VS可能会抱怨但它应该没问题:

class="noprint"