css - CSS 以可打印的方式突出显示文本
问题描述
我有以下代码突出显示文本
<style>
.yellow-bg {
background-color:yellow;
}
</style>
<span class="yellow-bg">This is some text</span>
这在浏览器中有效,但是在打印时文本不会突出显示,除非用户深入他们的打印设置并检查“打印背景图形”。我可以强制它在 Chrome 中打印
body {
-webkit-print-color-adjust: exact !important;
}
但这在 Internet Explorer 中不起作用。
有什么方法可以使用 CSS 以一种无需用户更改默认设置即可打印的方式突出显示文本?
解决方案
您可以使用边框使用类似的东西:
.yellow-bg {
display:inline-block;
overflow:hidden;
position:relative;
vertical-align:top;
}
.yellow-bg::after {
content:'';
border:100vw solid yellow;
position:absolute;
top:0;
left:0;
height:0;
width:0;
z-index:-1;
}
<span class="yellow-bg">This is some text</span>
您也可以使用此解决方案在段落中标记一些文本:
.yellow-bg {
display:inline-block;
overflow:hidden;
position:relative;
vertical-align:top;
}
.yellow-bg::after {
content:'';
border:100vw solid yellow;
position:absolute;
top:0;
left:0;
height:0;
width:0;
z-index:-1;
}
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, <span class="yellow-bg">sed diam nonumy eirmod tempor invidunt</span> ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>
...但这仅限于单行。如果您需要标记多行文本,这是行不通的。
推荐阅读
- angular - 显示子对象中列总和的最佳方法
- html - HTML 在 Outlook 中的格式不正确
- python - Django:.annotate 会返回意想不到的结果
- performance-testing - 无法在特定站点上的 Blaze-meter 记录器上编辑事务名称
- abap - 在 CRM Web UI 中动态选择组件配置
- nlp - StanfordCoreNLP:使用本地 CoreNLP 服务器和 Web 界面时相同句子的不同解析
- ruby-on-rails - 无法再运行单个 SitePrism 功能规格
- android - 有什么方法可以获取有关我们的 Android 手机中传入和传出文件的文件数量的信息
- bash - 如何使用预定义数量的进程通过bash中的程序处理多个文件?
- drools - 如何修复分数 DRL 和 kmodule.xml 错误