7

在 A4 尺寸的纸上打印网页的正确尺寸是多少?还应该考虑哪些其他内容?

*在这种情况下,首选内联 CSS

澄清:此网页的唯一建议是打印,因为它是收据。

澄清#2:这个网页是供我工作的公司内部使用的。他们希望它看起来像专业设计的收据。

澄清 #3:此网页必须打印在一页上 - 仅 A4 尺寸。

4

4 回答 4

5

回答

我建议使用两个不同的样式表。

为了在浏览器中查看,您可以将表格宽度设置为 A4 纸的宽度:21 厘米。(减去页边距 18 厘米。)

打印表格的大小应为“100%”,这意味着打印机使用浏览器设置给出的边距填充页面的整个宽度。(这些页边距使您无法使打印输出看起来完全相同。)

可能工作

使表格足够窄以确保它在页边距中的安全。然后将该表垂直居中。

完美布局的解决方案

您无法使用 HTML 和 CSS 来实现这一点,它的设计目的不是允许精确的布局!

在线创建 PDF 并让用户下载。无论如何,大多数浏览器都能够呈现 PDF。

于 2010-01-05T10:54:39.880 回答
4

最好的方法是使用样式表中的@Media 命令

例如

@media print{}

用于所有控件的打印布局和

@media screen{}

用于控制屏幕布局,只是觉得你有一个

<div class="wrapper">content</div>

然后在你的媒体中你应该有

@media print{ .wrapper{width: 100%;background-color:Transparent;color:Black;}}

@media screen{ .wrapper{width: 100%;background-color:#cdebcd;color:Red;}}

使用此@media,您可以为打印和屏幕设置完全不同的布局样式。你也可以使用

.SomeDivOrContent{visibility:hidden;display:none;}

隐藏打印中的项目。

让我知道它是否有帮助

于 2010-01-05T11:58:22.580 回答
2

使您的可打印版本尽可能简单且不受页面家具的影响。

您应该创建一个特定于打印的样式表,该样式表至少可以消除页面上的任何宽度限制,以便打印页面可以使文本流动以适合输出纸张。

您还应该知道,大多数浏览器默认不打印 CSS 背景图像,因此不要依赖它们出现在打印页面上。


编辑:在回答您的评论时,我会让收据尽可能简单。主要问题是您无法控制最终用户的打印机,因此您无法确定可打印区域的确切宽度。

使用流动/可流动的布局设计页面,并尽量保持简单。您在送货箱中获得的亚马逊收据样式可能值得借鉴。

于 2010-01-05T10:15:00.287 回答
2

就像其他人说你需要使用打印 CSS 一样,但请记住一件事:

display:none; //is your friend!

您可以使用它来确保不打印出导航等元素。

顺便说一句,A List Apart 有这篇关于打印样式表的精彩文章,请查看。

于 2010-01-05T10:19:58.527 回答