如何在开始滚动和透明后将角度材质工具栏背景颜色更改为白色?

Posted

技术标签:

【中文标题】如何在开始滚动和透明后将角度材质工具栏背景颜色更改为白色?【英文标题】:How to change angular material toolbar background-color to white after scrolling and transparent in start? 【发布时间】:2021-08-18 19:47:31 【问题描述】:

我正在尝试使用角度材料将工具栏的背景颜色更改为滚动时的白色。

<mat-toolbar class="main-container" color="primary">
 <div fxHide.gt-sm>
  <button mat-icon-button (click)="onToggleSidenav()">
    <mat-icon class="menu-toggle">menu</mat-icon>
  </button>
 </div>
 <div class="logo-area">
  <a routerLink="/"><img class="logo" src="assets/images/logo/logo-main.svg" ></a>
 </div>
</mat-toolbar>

【问题讨论】:

【参考方案1】:

使用 - 获取 ts 文件中的元素

<mat-toolbar class="main-container" #templateRefName color="primary">
@ViewChild('templateRefName') el: ElementRef;

  constructor(private renderer: Renderer2) 
  

并添加监听器 -

@HostListener('window:scroll', ['$event'])
onWindowScroll($event) 
    console.log("scrolling...");
    this.renderer.setStyle(this.el.nativeElement, 'background', 'yellow');

【讨论】:

感谢您的回答,但我想我问错了问题。问题应该是:滚动后如何将角度材质工具栏背景颜色更改为白色? @aboutbenjamin 试试 this.renderer.setStyle(this.el.nativeElement, 'background', '#fff !mportant');【参考方案2】:

您可以使用窗口触发的滚动事件。检查这个答案: How to get on scroll events?

【讨论】:

滚动后如何将角度材质工具栏背景颜色更改为白色?

以上是关于如何在开始滚动和透明后将角度材质工具栏背景颜色更改为白色?的主要内容,如果未能解决你的问题,请参考以下文章

更改角度日期选择器材质组件的颜色

当用户在表格视图中向下滚动时,如何将 UINavigationBar 背景颜色从透明更改为红色

如何在页面重新加载超过 10 像素时激活颜色更改导航

菜单背景在滚动时更改颜色

更改滚动标题的背景颜色

使用角度材质和$ mdThemingProvider更改调色板颜色