如何在 A4 纸张大小的页面中制作 HTML 页面?

2024-06-25

是否有可能使 HTML 页面的行为类似于 MS Word 中的 A4 大小的页面?

本质上,我希望能够在浏览器中显示 HTML 页面,并以 A4 尺寸页面的尺寸概述内容。

为了简单起见,我假设 HTML 页面仅包含文本(没有图像等),并且不会有<br>例如标签。

此外,当打印 HTML 页面时,它会以 A4 尺寸的纸张形式打印出来。


很久以前,2005 年 11 月,AlistApart.com 发表了一篇文章,介绍他们如何仅使用 HTML 和 CSS 出版一本书。看:http://alistapart.com/article/boom http://alistapart.com/article/boom

以下是该文章的摘录:

CSS2 有一个分页媒体(想想纸张)的概念,而不是连续媒体(想想滚动条)。样式表可以设置页面的大小及其边距。页面模板可以被赋予名称,元素可以声明它们想要打印在哪个命名页面上。此外,源文档中的元素可以强制分页。这是我们使用的样式表的片段:

@page {
    size: 7in 9.25in;
    margin: 27mm 16mm 27mm 16mm;
}

由于有一家美国出版商,我们得到的页面尺寸以英寸为单位。我们,作为欧洲人,继续使用公制测量。 CSS 两者都接受。

设置页面大小和边距后,我们需要确保在正确的位置有分页符。以下摘录显示了章节和附录之后如何生成分页符:

div.chapter, div.appendix {
    page-break-after: always;
}

此外,我们使用 CSS2 来声明命名页面:

div.titlepage {
    page: blank;
}

也就是说,标题页将打印在名称为“空白”的页面上。 CSS2 描述了命名页面的概念,但只有当页眉和页脚可用时,它们的价值才变得明显。

Anyway…

既然你想打印 A4,你当然需要不同的尺寸:

@page {
    size: 21cm 29.7cm;
    margin: 30mm 45mm 30mm 45mm;
     /* change the margins as you want them to be. */
}

这篇文章深入探讨了设置分页符等内容,因此您可能需要完整阅读。

在你的例子中,技巧是首先创建打印 CSS。大多数现代浏览器(>2005)都支持缩放,并且已经能够显示基于打印 CSS 的网站。

现在,您需要使 Web 显示看起来有点不同,并调整整个设计以适应大多数浏览器(包括 2005 年之前的旧浏览器)。为此,您必须创建一个 Web CSS 文件或覆盖打印 CSS 的某些部分。在为 Web 显示创建 CSS 时,请记住浏览器可以有任何尺寸(想想:“移动”到“大屏幕电视”)。含义:对于 Web CSS,最好使用可变宽度 (%) 设置页面宽度和图像宽度,以支持尽可能多的显示设备和 Web 浏览客户端。

编辑 (26-02-2015)

今天,我偶然发现了另一个更新的文章发表于 SmashingMagazine http://www.smashingmagazine.com/2015/01/07/designing-for-print-with-css/它还深入探讨了使用 HTML 和 CSS 进行打印设计……以防万一您可以使用另一个教程。

编辑(2018年10月30日)

这引起了我的注意size不是有效的CSS3,这确实是正确的——我只是重复了文章中引用的代码(如前所述),这是很好的旧CSS2(当你查看文章和这个答案首次发布的年份时,这是有意义的)。不管怎样,为了方便复制和粘贴,这里是有效的 CSS3 代码:

@media print {
    body{
        width: 21cm;
        height: 29.7cm;
        margin: 30mm 45mm 30mm 45mm; 
        /* change the margins as you want them to be. */
   } 
}

如果您认为您确实需要像素(你实际上应该避免使用像素),您必须注意选择正确的 DPI 进行打印:

  • 72 dpi(网页)= 595 X 842 像素
  • 300 dpi(打印)= 2480 X 3508 像素
  • 600 dpi(高质量打印)= 4960 X 7016 像素

然而,我会避免麻烦并简单地使用cm(厘米)或mm(毫米)用于调整大小,以避免根据您使用的客户端可能出现的渲染故障。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 A4 纸张大小的页面中制作 HTML 页面? 的相关文章

  • 如何正确编写 CSS 属性选择器来提取所有 id 属性?

    情况 我目前正在尝试在 VBA 中使用语法重现属性选择器 attr 来自给出的 CSS 选择器练习here https www w3schools com cssref trysel asp 选择器旨在根据给定属性的值选择元素 预期结果 在
  • 如何在不使用 Flexbox 的情况下水平对齐元素?

    有没有一种方法可以在不使用的情况下将 Web 组件彼此相邻对齐Flexbox 我知道它是一个很棒的工具 但不幸的是它不适用于 IE 9 或 10 我希望链接内的文本显示在图像旁边 JSFiddle 显示了工作代码 但是使用 FlexBox
  • asp.net aspx 的标记验证

    我使用 asp net 创建了一个网站 在互联网上启动网站之前 我想对我使用的网络表单进行验证测试 我已经知道如何通过 W3C 标记验证服务来验证 HTML 静态网站 是否可以通过上传文件在 Webforms aspx 上执行相同的验证方法
  • LESS:使用 Bootstrap 时出现无法识别的输入错误

    升级 Harp 后 我开始得到无法识别的输入不相关的 CSS 行中出现错误 Less gt CSS 无法识别的输入 Users jorge Dropbox harp io apps mysite com public css main le
  • HTML5 应用程序缓存:清单已更新,但文件再次从应用程序缓存中获取

    我有一个缓存清单 其中有注释 Version 3 2 为了更新所有应用程序 我只需更改版本号 它有效 但是 当我更新清单时 所有内容都会正确更新 新缓存已填充 但实际文件会从 旧 缓存中再获取一次 当我重新加载两次时 所有内容都会更新 这种
  • HTML 文本下方的白点

    我在网站上的输出在文本下方有点 为什么会出现以及如何删除它 HTML p align center font size 4 5 color 979C91 a href customer html span class fa fa penci
  • UIWebview JS 性能比 iOS 6/7 上的移动 safari 慢吗?

    我们最近使用 iOS 应用程序中的大量 JavaScript 库测试了一些 HTML5 内容 该应用程序旨在在 UIWebview 中加载这些内容 本次测试使用了 iOS 6 我的团队没有观察到移动 Safari 浏览器出现任何明显的性能问
  • 带有 selectInputs 的 DT 数据表在选择后重置回左侧

    我在 Shiny 应用程序的 DT 数据表的列中使用 selectInputs 感谢一些帮助here https stackoverflow com questions 74620665 vertically center selectin
  • 更改输入上的父 div [type=checkbox]:使用 css 检查[重复]

    这个问题在这里已经有答案了 我可以弄清楚如何在选中复选框时更改父 div 更改以下段落效果很好 在 Chrome 中尝试过这种方法但没有运气 HTML div div
  • 在 Javascript 中隐藏按钮

    在我最新的程序中 有一个按钮 单击时会显示一些输入弹出框 这些框消失后 如何隐藏按钮 You can set its visibility财产 http www w3schools com cssref pr class visibilit
  • 通过标记或JS强制下载

    假设我在 CDN 来自 Rackspace 的云文件 上有一个文件 以及一个包含该文件链接的静态 html 页面 有什么方法可以强制下载此文件 以防止它在浏览器中打开 例如 mp3 我们可以让我们的服务器读取该文件并将相应的标头设置为 he
  • 为什么视口宽度与实际显示宽度不匹配?

    Chrome 显示我的视口宽度为 1280px 然而 我的实际显示分辨率是2560x1600px 我使用的机器是13 3英寸的MacBook Pro 为什么视口不是 2560px 宽 使用没有任何区别 my display settings
  • 将jQueryUI datepicker附加到div(显示位置错误)

    我在输入上使用 jQueryUI datepicker 默认情况下 jQueryUI 会附加 ui datepicker div to the body该文件的 有问题的输入位于屏幕上的 弹出 div 中 这意味着该 div 之外的任何点击
  • jQuery onclick 隐藏其父元素[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想隐藏 li tag on a 使
  • JQuery mouseover 函数多次触发

    我很长时间以来一直使用这种方法来为整个类 按钮等 设置事件 div bigButton mouseover function this style backgroundColor dfdfdf 然而 在进行一些测试时 我刚刚注意到 当将鼠标
  • 脚本不会从nodejs应用程序中的ejs文件运行

    我正在尝试使用nodejs express mysql和ejs让网页显示图表 但我显然不明白ejs javascript等是如何工作的 我需要运行一个脚本来设置图表 来自 Chart js 模块 但它不会输出任何类型的图表 我尝试过的 将
  • 如何防止 Bootstrap Navbar Toggle 下推内容?

    我将 Bootstrap 与静态顶部导航栏一起使用 如下所示
  • 单击即可切换背景颜色和过渡

    这看起来应该很容易 但我真的找不到办法做到这一点 动画 http doir ir css gif http doir ir css gif 当您单击这些相应的链接时 我需要更改和过渡页面的背景颜色 我见过的最接近触发这种类型转换的事情是 仅
  • 在用户单击之前图像不会绘制在画布上?

    我使用执行类似以下操作的函数绘制几张图像 context drawImage img width 2 1 height 2 1 width height 我读过 我需要等待图像加载后才能绘制它 如下所示 img onload functio
  • 如何在流体宽度表中使用省略号而不使每列大小相同?

    假设我的表中的列是id name description and phone The description列的长度为 1 255 个字符 但 id 最多只有 3 个字符 我希望列的大小适当 而不是每列的大小相同 我想要descriptio

随机推荐