我想用带有圆角边框的元素打印这个HTML表格,但是一旦打印页面,CSS类似乎就不再显示了。有人可以帮忙吗?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
.hashtag {
display: inline-block;
color: white;
font-size: 20px;
background-color: rgba(46, 200, 40, 0.5);
margin-left: 1px;
margin-right: 1px;
margin-top: 1px;
margin-bottom: 1px;
padding: 0.0em 0.5em;
border-radius: 1em;
text-indent: 0;
text-align: center;
}
</style>
</head>
<body>
<tr>
<td>
<p class="hashtag" align="center">CSS</p>
<p class="hashtag" align="center">WON'T</p>
<p class="hashtag" align="center">PRINT</p>
</td>
</tr>
</body>
</html>
答案 0 :(得分:4)
您在深色背景上使用白色文字。但是大多数浏览器默认情况下不会打印背景图像或背景颜色,这样会在您的情况下在无/白色背景上产生白色文本,即它将保持不可见。
可以打印背景颜色,但这是一个浏览器首选项/设置,只能由用户设置/更改,而不能通过CSS或网站中的任何其他代码。
答案 1 :(得分:4)
您正尝试在彩色背景上打印白色文字,但大多数浏览器默认情况下不会打印背景(如果是这样,那么这是因为用户更改了设置以启用它)。
您可以使用样式表中的@media print { ... }
添加内容进行准备,这会更改应用的样式,以便更好地打印。有关示例,请参阅下面的代码段:
.hashtag {
display: inline-block;
color: white;
font-size: 20px;
background-color: rgba(46, 200, 40, 0.5);
margin-left: 1px;
margin-right: 1px;
margin-top: 1px;
margin-bottom: 1px;
padding: 0.0em 0.5em;
border-radius: 1em;
text-indent: 0;
text-align: center;
}
@media print {
.hashtag {
color: black;
background-color: white;
border: 1px solid black;
}
#btnPrint {
display: none
}
}
<p class="hashtag" align="center">CSS</p>
<p class="hashtag" align="center">WILL</p>
<p class="hashtag" align="center">PRINT (B/W)</p>
<button id="btnPrint" onclick="window.print()">Print</button>