首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在打印mat-dialog时隐藏@media print的Angular 9背景组件?

在Angular 9中,要在打印mat-dialog时隐藏@media print的背景组件,可以通过以下步骤实现:

  1. 首先,在需要隐藏背景组件的组件文件中,导入Renderer2ElementRef
代码语言:txt
复制
import { Component, Renderer2, ElementRef } from '@angular/core';
  1. 在组件的构造函数中注入Renderer2ElementRef
代码语言:txt
复制
constructor(private renderer: Renderer2, private elementRef: ElementRef) { }
  1. 在需要隐藏背景组件的地方,使用Renderer2来添加或移除CSS类。在ngOnInit生命周期钩子函数中,监听beforeprintafterprint事件,并根据事件类型添加或移除CSS类:
代码语言:txt
复制
ngOnInit() {
  this.renderer.listen('window', 'beforeprint', () => {
    this.renderer.addClass(this.elementRef.nativeElement, 'hide-background');
  });

  this.renderer.listen('window', 'afterprint', () => {
    this.renderer.removeClass(this.elementRef.nativeElement, 'hide-background');
  });
}
  1. 在组件的CSS文件中,定义.hide-background类来隐藏背景组件。例如,可以使用display: none;来隐藏组件:
代码语言:txt
复制
.hide-background {
  display: none;
}

这样,在打印mat-dialog时,背景组件将被隐藏。请注意,以上代码仅适用于Angular 9版本,对于其他版本可能需要做相应的调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

关于CSS 打印你应该知道样式配置

昨天在做一些打印需求,遇到了一些小坑,记录分享一下。 CSS 打印分页功能 需求: html 一个区域显示数据,当放不下,自动第二页存放,打印 你可以使用 CSS 分页属性来实现这个功能。...CSS 实现打印 Table 单元格换行显示 white-space: normal;:默认值,文本遇到空格或换行符换行,单词内部不会强制分割。...@media print { @page { margin: 1cm; } } 4.隐藏背景图像和颜色:可以通过设置 background 属性为 none 来隐藏打印页面的背景图像和颜色...隐藏链接 URL:如果你不希望在打印版本中显示链接 URL,可以使用 text-decoration 属性来隐藏。...content: "页脚内容"; } } } 使用 @media print 媒体查询可以确保这些样式仅在打印生效,并保持网页和打印版本差异。

1K40

关于响应式布局,你需要了解知识点

如果是更小手机屏幕上,那不仅导航栏要隐藏起来,就连下面的文章列表也只能一行显示一篇文章,如下图所示。...我们还是举美团官网这个例子:美团官网浏览器宽度小于 1280px 时候,会将导航栏隐藏起来。导航栏宽度大于 1280px 时候,会讲导航栏显示出来,如下图所示。...在这个过程中,可能不仅涉及到隐藏,还会涉及到其他布局变动,例如:小屏幕是 display: block,而在大屏幕时候则是 display: flex。...mediatype 常用取值有如下几个: all 用于所有设备 print 用于打印机和打印预览 screen 用于电脑屏幕,平板电脑,智能手机等。...举个很简单例子,我们只想针对打印机或打印机预览使用某些 CSS 样式,那么我们可以这么写: @media print { /* … */ } 如果我们只想对除了打印机或打印机预览之外其他所有设备适用

43210
  • 【Web技术】610- Web上图片技巧

    它们让我们可以控制 内容如何调整大小和位置,就像CSS背景图片一样。...而CSS背景图片却不是这样检查该元素,要先检查该元素,然后DevTools中打开URL里面的链接,才可以下载一个正在添加CSS图片。...内联式SVG 背景图片 下面我们就来学习一下用什么技巧,以及如何选择合适技巧。 一个有很多细节标志 当一个LOGO有很多细节或形状,用内嵌式SVG可能没有那么多好处。...悬停,形状和文字需要改变颜色。如何做到这一点呢?对我来说,最好解决方案是使用内嵌式SVG。...避免使用图片作为CSS背景 当一个图片作为CSS背景被包含,它将不会被打印出来,而是会出现一个空位。见下图。 就是这样情况。

    2.9K30

    【译】Web中图像技术总结,前端开发中各种图片引入优点缺点及实例

    前端开发人员构建网站需要做出决定之一就是添加图片技术。它可以是HTML ,也可以是通过CSS背景生成图片,也可以是SVG 。...因此,执行此操作请小心,如果一个图片应该被隐藏,那么它可能是出于装饰目的。 img { display: none; } 同样,以上内容也不会阻止浏览器加载图片,即使该图片在视觉上是隐藏。...它们让我们可以控制 内容如何调整大小和位置,就像CSS背景图片一样。...使用举例 4.1 Hero Section 构建 hero section ,我们有时需要在标题和其他内容下面有一个图像。如下图所示: ? 注意这里有一个图像。你将如何构建它?...Yoksel这个工具很棒。 Demo 4.6 CSS 打印 用户可能需要打印web页面。假设我们有一份食谱,你想把它打印出来,这样你就可以厨房里看它,而不需要查看你手机或电脑。

    5.6K20

    前端运用图片技巧总结

    它们让我们可以控制 内容如何调整大小和位置,就像CSS背景图片一样。...而CSS背景图片却不是这样检查该元素,要先检查该元素,然后DevTools中打开URL里面的链接,才可以下载一个正在添加CSS图片。...内联式SVG 背景图片 下面我们就来学习一下用什么技巧,以及如何选择合适技巧。 一个有很多细节标志 当一个LOGO有很多细节或形状,用内嵌式SVG可能没有那么多好处。...悬停,形状和文字需要改变颜色。如何做到这一点呢?对我来说,最好解决方案是使用内嵌式SVG。...避免使用图片作为CSS背景 当一个图片作为CSS背景被包含,它将不会被打印出来,而是会出现一个空位。见下图。 就是这样情况。

    2.6K20

    OpenVidu —— 可在内网环境使用开源 WebRTC 视频会议平台

    architecture OpenVidu 支持云平台及自有硬件中部署,Deploying OpenVidu CE on premises[4] 有自有硬件中部署生产环境可用 OpenVidu 完整文档...一套完整 OpenVidu 部署包括 以下服务[5]: OpenVidu Server (openvidu-server):OpenVidu 平台大脑,负责信号面; Kurento Media Server...OpenVidu deployment 要在本机外环境访问 OpenVidu Server,需要在启动 指定 IP 地址[9]: Linux:ip -4 -oneline route get 1.0.0.0...WebRTC 相关语音、视频等功能需部署 Proxy 组件后通过 HTTPS 协议访问才能正常使用。...rm -f $(docker ps -a | grep openvidu-call | awk '{print $1}') Proxy Proxy 组件作用,是允许通过 HTTPS 访问应用。

    1.4K10

    【前端】使用window.print() 前端实现网页打印详细教程(含代码示例)

    本文洲洲将详细介绍如何使用 window.print() 方法实现网页打印,并提供代码示例。...二、打印控制 2.1 使用打印样式表 配置一份打印样式表print.css,引入到HTML文档, 上加上一个 media=“print” 来标识这是打印机才会应用样式表,这样打印就会默认将该样式表应用到文档中.../print.css") print; 2.5 打印指定区域 需要打印正文内容所对应html开始处加上标识,结尾处加上标识,截取打印标识之间内容替换body内容,调用打印print()方法。...= oldStr; // body替换为原来内容 } 或者也可以将需要打印内容用一个大div包裹,打印将body内容替换为该div内容,调用打印...JavaScript 来隐藏那些不需要打印元素。

    1.9K31

    响应式布局入门

    css2时期有一个不是很常用media type,他拥有比如aural(声音)braille(触摸)print打印)handheld(移动设备)等等十种媒体类型,(附加媒体类型详细http://www.w3....org/TR/CSS2/media.html#media-types)利用@media规则可以同一样式表里为不同终端使用不同样式。...,电脑上是三列,pad上应该也是三列,大屏手机上是三行,屏幕小于320手机上只显示主要内容,隐藏掉了次要元素。...有一种情况除外,就是高像素比终端,比如 iphone4以上retina屏,一个iphone5小小屏幕(iphone屏幕是真小啊),他分辨率竟然达到了1136*640,如何让放大了两倍屏幕显示依然清晰...对于media query兼容性,我想不是很重要,因为很少有终端自带IE9以下浏览器。基本都是高级浏览器。如果特殊需要,可以下载一个兼容JS文件 <!

    1.7K50

    响应式设计

    然而不管视口宽度如何,样式表都会被下载。这种方式只是为了更好地组织代码,并不会节省网络流量。 # 媒体类型 常见两种媒体类型是 screen 和 print。...使用 print 媒体查询可以控制打印网页布局,这样就能在打印去掉背景图(节省墨水),隐藏不必要导航栏。当用户打印网页,他们通常只想打印主体内容。...针对打印样式,使用 @media print 查询语句。不需要像 min-width 或者其他媒体特征那样加小括号。同理,针对屏幕样式,使用 @media screen。...大多数情况下,需要将基础打印样式放在 @media print {...} 媒体查询内。使用 display: none 隐藏不重要内容,比如导航菜单和页脚。...还可以将整体字体颜色设置成黑色,去掉文字后面的背景图片和背景色。 @media print { * { color: black !

    2K10

    Angular17 使用 ngx-formly 动态表单

    -g @angular/cli # 创建为 standalone 类型项目 ng new angular-ngx-formly --standalone=false 安装 NG-ZORRO 组件库...label: '个人简介', }, } 如何定义 CheckBox 组件,重要属性 defaultValue: defaultValue:当 model 未提供默认值,将使用 defaultValue...[a-zA-Z]{2,}$/, }, }, ], }, } 自定义异步验证实现唯一校验: 通过接口实现手机号系统中唯一使用也是最为常见一个场景,通过异步验证需要使用将使用同步验证函数...隐藏/显示字段: 如果需要使前面加入的确认密码字段输入密码字段后才显示就需要使用 expressions.hide 来控制隐藏或显示: { key: 'checkPassword', type...定义类型为 FormlyExtension 对象, prePopulate 进行 label 字段匹配: import { FormlyExtension } from '@ngx-formly/

    57610

    CSS技术入门

    display 属性设置一个元素应如何显示,visibility 属性指定一个元素应可见还是隐藏。...media 规则媒体类型允许你指定文件将如何在不同媒体呈现。该文件可以以不同方式显示屏幕上,纸张上,或听觉浏览器等等。 @media 规则允许相同样式表为不同媒体设置不同样式。...not: not是用来排除掉某些特定设备,比如 @media not print(非打印设备)。only: 用来定某种特别的媒体类型。...也可以不同媒体上使用不同样式文件:<link rel="stylesheet" media="mediatype and|not|only (expressions)" href="print.css...而是需要将样式代码,放在一个个样式组件中。而样式组件如何定义呢?需要使用暴露出来styled api,并且将样式代码放在模板字符串中。

    2.8K61

    【云端架构】前端 css print 用法

    说到网页打印,首先想到便是@media查询(即网页css),通过使用媒体类型print即可解决实际应用大多数问题,比如实现只打印网页某部分内容,调整字体大小、修改布局等使打印出来纸质文件更简洁明了...代码如下: @media print{ /*隐藏打印元素*/ .no-print{ display:none; } /*其他打印样式*/ } 但是,就打印表单来说,仅解决上述问题是不够,我们无法忍受表单存在打印分页内容被截断...那么如何解决这些问题呢?这就要使用到css打印样式了,即@page,用来指定页面盒子各个方面。...当margin设置不起作用时检查打印机是否边距是否设置了默认以外值。...eg3:避免表格断开 @page{ table{ page-break-after: avoid; } } 注:page-break-after对tr、td不起作用所以当以整体出现时候要在同一个table

    2.9K80

    AngularDart4.0 指南- 表单 顶

    一路上你将学习如何: 用组件和模板构建一个Angular表单。 使用ngModel创建读取和写入输入控制值双向数据绑定。 跟踪状态变化和表单控件有效性。...你知道如何从早期页面做到这一点。 显示数据教导属性绑定。 用户输入显示如何使用事件绑定监听DOM事件以及如何使用显示值更新组件属性。 现在您需要同时显示,聆听和提取。...如果您忽略原始状态,则只有该值有效才会隐藏该消息。 如果您使用新(空白)英雄或无效英雄到达此组件,则在您执行任何操作之前,您将立即看到错误消息。...当控件是“原始隐藏消息实现了这个目标。 当您向表单添加一个“清除”按钮,您会看到此选项重要性。 英雄Alter Ego是可选,所以你可以不用关那个。 英雄power选择是必需。...概要 Angular表单为数据修改,验证等提供支持。 在此页面中,您学习了如何使用以下功能: 一个HTML表单模板和一个带有@Component注解表单组件类。

    17.5K30
    领券