Angular 16 @media以样式打印.css不起作用

Angular 16 @media print in style.css doesn't work

提问人:Bhavesh 提问时间:11/1/2023 更新时间:11/2/2023 访问量:47

问:

我有一个 angular 组件 (ViewTask),其中包含一个在侧面应用程序组件中呈现的模板。应用程序组件还具有侧导航栏。当我打印 ViewTask 组件时,我想隐藏/删除除“print-section”div 中的内容之外的所有内容。

所以我正在尝试使用媒体查询来隐藏页面上的其他内容。我已经在样式.css中添加了它

@media print {
  body {
    padding: 2em;
    color: #fff;
    background-color: red !important;
  }
 
}

但是当我尝试打印页面时,它没有那种样式。我试过使用@media屏幕 { },效果很好。

我错过了什么吗?

任何帮助将不胜感激。

谢谢

HTML CSS Angular 媒体查询

评论

0赞 gsvart 11/1/2023
我认为这是同样的情况“在 Angular 中使用@media打印不起作用”
0赞 Bhavesh 11/2/2023
@gsvart我看过那个。在这种情况下,样式在删除/隐藏元素时起作用,但我的问题是设置display:none,它删除了dom元素。但我仍然会尝试将其放在单独的样式表中并添加到angular.json中。

答:

0赞 Bhavesh 11/2/2023 #1

对不起,它工作了。

默认情况下,在“打印”对话框中删除背景颜色。要使其正常工作,请添加以下行

body{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }

对于其他样式,只需确保它不会被组件级样式覆盖即可。如果有多个“!important”,则以“!important”为准的组件级样式。