我注意到在 Chrome 和 FireFox 中打印这个简单的 jsfiddle 的输出之间存在差异:
<input type="text" placeholder="Hello World" />
Google Chrome 似乎打印了“Hello World”文本,但 FireFox 没有。
寻找 at the HTML5 spec我没有看到任何关于在打印期间为占位符采取的操作的描述。
这会因浏览器实现而异吗?或者它是否在其他地方的规范中定义?有什么方法可以强制 FF 使用 JavaScript、CSS 或 HTML 打印占位符?
当我打印到 CutePDF 时,FireFox 没有渲染它。我可以确认它在打印到物理打印机时也不会呈现,但你必须相信我的话:
这是谷歌浏览器:
最佳答案
首先,我想引导您阅读以下文章: http://laurakalbag.com/labels-in-input-fields-arent-such-a-good-idea/仅使用充当“标签”的占位符可能不是一个好主意。
当然,如果您想在所有浏览器中打印占位符,您可以像过去那样做一些事情。示例:
<div>
<input type="text" placeholder="test">
<span>test</span>
<div>
CSS
div{position:relative;}
span{position:absolute;top:0px;left:0px;display:none;}
打印 CSS
span{display:block;}
当然,如果您愿意,可以使用 JavaScript 自动生成这些跨度。从占位符中获取值并在 de div
span
关于css - 将 HTML 发送到打印机后是否应该打印属性 "placeholder"的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16825511/