css - 打印 css 样式不适用于 Angular 元素

标签 css angular printing

我正在尝试在我的 Angular 元素中使用 CSS 创建可打印文档。 对于涉及多页的打印文档,我需要自动避免在页眉中打印日期和标题。同时我想确保文档打印时留有一定的边距。为此,我使用了 this answer 中建议的方法。所以。但是我无法应用样式。

我的 CSS 代码是这样的

@media print {
  @page { 
    size: auto;
    margin: 0; 
  }
  body { 
    margin: 2cm !important;
  }
}

我尝试将此代码粘贴到 app.component.scss 文件和 styles.scss 文件中。这两种方法似乎都不起作用。有什么建议吗?

最佳答案

您需要将以下 css 放入您的 styles.css 文件中

@media print {
  @page { 
    size: auto;
    margin: 0mm; // added mm
  }
  body { 
    margin: 2cm;
  }
}

如果您需要特定于组件的样式,您也可以将其添加到组件的 css 文件中:

@media print {
  section {
    color: orange;
  }
}

这是一个Stackblitz example . 您也可以尝试打印此页面 ( https://angular-j4ab2g.stackblitz.io ),您会看到标题中的日期消失了,我的自定义部分有橙色文本。

编辑

我认为删除页脚和页眉的最佳选择是取消选中打印设置中的框 enter image description here

那么你不需要在@page 选择器上添加 0mm 边距,在 body 选择器上添加 2cm 边距。

关于css - 打印 css 样式不适用于 Angular 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57667819/

相关文章:

jquery - 滚动时在图像上添加模糊

html - 在其他 HTML 标签中使用 "link_to"

javascript - 将 Bootstrap-sass gem 包含到我的 Rails 应用程序中

javascript - ¿如何创建文本 slider 动画?

angular - 将Angular CLI项目与Groovy Gradle App集成

javascript - 打印 HTML 表格中选定的行

c# - 从 Web 应用程序打印到客户端打印机

angular - 将 matSuffix 内容与 mat-form-field 输入中的文本对齐

Angular - 将 Observables 与 promise 相结合

android - 如何创建 PrintDocumentAdapter 来使用 Android 4.4 打印 API 打印图像