- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在打印 html 文档时遇到了一些问题。显然,浏览器并不知道论文的宽度,他们会做出疯狂且不准确的猜测!
该文档是响应式的,以不同的宽度显示不同的布局,我希望在打印时,他们会采用大约 700 或 800 像素的样式,但他们没有。不是全部。
试图根据 px
中的大小更改媒体查询到物理单位(pt
或 cm
),但这没有帮助。
我还确保所有浏览器都设置为使用相同的纸张尺寸、方向和页边距,并且它们没有设置任何“缩放以适合页面”标志。
这是一个 fiddle :http://jsfiddle.net/MrLister/Lc5kE/show
如果稍微调整窗口大小,您会看到它显示了它的宽度。然后,当您点击“打印预览”时,就会出错:IE 显示 A4 的宽度为 18..19cm,Mozilla 显示为 20..21cm,而 Chrome 显示为 14..15cm。 Opera 是最糟糕的:它根本不看纸张,它只占用屏幕上窗口的大小。
就像我说的,无论您使用物理单位还是像素还是 em
都没有区别。 .
那我是不是做错了什么?我忽略了什么吗?除了强制人们接受固定尺寸的纸张(如 A4)之外,我还能做些什么吗?
编辑:经过更多测试后,我发现 IE 会考虑打印机边距,而 Mozilla 不会。因此,如果您将所有边距设置为零,IE 和 Mozilla 都会报告宽度为 20..21cm。不过其他人还是很不配合。
最佳答案
最简单的方法是使用“%”而不是“cm”。
就 JSFiddle 示例而言,问题是您没有在“@media”最小宽度/最大宽度查询中指定更改后的 div 宽度。由于给定的 div 的宽度是固定的。页面本身没有响应。您可以通过调整浏览器大小并查看是否显示溢出来更好地理解您的问题...因此简而言之,您的页面没有响应以适应打印页面。
此外,为了使 div 适合打印页面,您可以使用以下 css 代码:
@media print{
html,
body{
width: 100%;
}
body div{
max-width: 100%;
}
}
(注意:此代码不适用于您的 JSFiddle 示例,因为“div”的样式是内联指定的。)
还不满意?使用 css transform 缩放页面以适合打印页面。使用它时,不要忘记设置“transform-origin: 0% 0%;”。
例如,最大的 div 宽度为 31 厘米,边距通常为 1 厘米。因此,在宽度介于 16 厘米和 17 厘米之间的打印页面中,您可以将其缩放到 50% 并手动使页面适合打印页面。
虽然前一种方法是最佳实践。祝你好运。
关于html - 打印时,浏览器不知道纸张的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20282092/
我的“登录”是在 IE 浏览器中进行的,登录后,如果我单击链接,它们就会在 Chrome 浏览器中打开。如何在同一个测试用例中将我当前的浏览器从 IE 切换到 Chrome。如果我创建一个 chrom
您好,我不明白在 Firefox 的内容属性中使用的特殊字符的不同显示行为。我已经剥离了一切并创造了一支笔: http://codepen.io/rpkoller/pen/Fbgav 在其“基本形式”
我正在研究 Spring Data REST,特别是 HAL 浏览器。我一直在关注 http://docs.spring.io/spring-data/rest/docs/current/refere
我正在使用工具提示,在 ie 上出现定位错误。我放了jquery浏览器代码 我的工具提示 $('.tooltip').tooltip({ position: "bottom center"
我应该如何处理蓝鸟协程中的错误? 我使用co in节点已有一段时间,它具有出色的捕获功能。 co(function*() { return new Promise(function(resol
package webviewbrowser; import java.util.List; import javafx.application.Application; import javafx.
我有一些 JavaScript 在同一域上的两个独立服务器之间共享请求。 .com 是 JavaScript 中域的要求吗? 在这种情况下,两台服务器都位于 .abc.tyy 域上,tyy 通常是 .
package webviewbrowser; import java.util.List; import javafx.application.Application; import javafx.
我正在尝试构建仍支持 NPAPI 的先前版本的 Chromium 浏览器。我已经获得了代码,并且可以使用 stand build 命令在我的 mac 上构建最新版本的 Chromium gclient
我环顾四周,找不到 browscap 的 Python 等效项(我在 PHP 中使用它来检测给定的用户代理字符串是什么浏览器。 我希望我不必自己写......:P 最佳答案 看看这个,它应该做你想要的
是否有任何 chrome 或 firefox 扩展允许 javascript 在客户端 PC 中创建写入文件? 最佳答案 你想做什么? HTML5 有一个 File API .这是最好的解决方案,因为
当我点击链接或刷新或关闭标签页时,我有这段代码会发出警报。 但我需要在关闭 窗口(选项卡)上仅 发出警报。怎么做? 我的网站上有很多外部和内部链接。
我目前正在尝试使用 Browserify + Angular,但我遇到了一个奇怪的问题。我在我的 Controller 的子目录中创建了一个名为 controllers/start-controlle
我正在为客户(项目已被接受,但现在是解释不同功能的问题)写一份详细的估算,以开发一个响应式布局的网站。 这不是我第一次进行此类开发,但这是一个关键客户,必须铺平道路。 布局将从 300px 宽度调整到
我在时事通讯上设计了一些黑底白字。由于时事通讯在打印时看起来不错且可读。我需要使布局和文本与浏览器中的内容相似。 通常情况下,黑色文本和无背景颜色是浏览器/网络邮件客户端的默认打印样式吗? 最佳答案
我有一个使用 GWT/mGWT 构建的移动友好网络应用程序。该应用程序有白色输入文本框和深灰色输入文本。但是,在 Android 浏览器上,文本显示为白色,因此是不可见的。我尝试的所有 CSS 都无法
我创建了一个带有选择输入的页面来更改正在使用的 jQuery UI 主题。当主题更改时,它会存储在 cookie 中。页面加载时,如果 cookie 存在,则恢复主题,否则加载默认主题。 当我使用 F
在我的 CSS 中,我使用了以下代码片段: word-break: break-word; -webkit-hyphens: auto; hyphens: auto; 渲染引擎如何知道在所有不同语言中
我的网络浏览器 Safari 有问题,我在 Chrome、FireFox 中测试了我的网站。 Safari 版本也是正确的,但是,当需要在 1920x1080 或更高分辨率下对其进行测试时,它无法正常
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我是一名优秀的程序员,十分优秀!