固定汉堡图标角

Posted

技术标签:

【中文标题】固定汉堡图标角【英文标题】:Fixed hamburger icon angular 【发布时间】:2019-11-05 21:53:19 【问题描述】:

我使用ng generate @angular/material:material-nav --name header 生成了一个标题组件,在此我需要固定汉堡图标,即使屏幕尺寸较大。 现在它仅在屏幕尺寸较小时出现。 我需要一些帮助来解决这个问题。 stackblitz 中的代码 (https://angular-bfjx3s.stackblitz.io/) 谢谢

需要这样的东西 (https://console.cloud.google.com)

【问题讨论】:

【参考方案1】:

header.component.html

中的以下代码中删除 *ngIf 条件
<button
  type="button"
  aria-label="Toggle sidenav"
  mat-icon-button
  (click)="drawer.toggle()">
  <mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
</button>

【讨论】:

【参考方案2】:

您可以从按钮中删除条件语句*ngIf="isHandset$ | async"

【讨论】:

【参考方案3】:

您需要像这样更改汉堡包按钮的 *ngIf 条件(或者如果您希望按钮始终可见,您甚至可以删除 *ngIf:

<mat-toolbar color="primary">
      <button
        type="button"
        aria-label="Toggle sidenav"
        mat-icon-button
        (click)="drawer.toggle()"
        *ngIf="true">
        <mat-icon aria-label="Side nav toggle icon">menu</mat-icon>
      </button>
      <span>web-doctor</span>
  </mat-toolbar>

这里的代码:https://stackblitz.com/edit/angular-kutmnh

【讨论】:

谢谢你,工具栏现在向右移动,背景不工作。对于较小的屏幕尺寸,背景可以正常工作,这意味着我可以单击屏幕上的任何位置,汉堡图标会折叠。【参考方案4】:

感谢大家的努力, 我发现这里提到的不同断点 (Angular mat-sidenav property isHandset$ | async explain) 所以我在 html 文件和 TS 文件中将当前设置更改为((isWeb$ | async) || (isTablet$ | async) || (isHandSet$ | async)),如下所示

 isWeb$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Web)
    .pipe(
      map(result => result.matches)
    );

    isTablet$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Tablet)
    .pipe(
      map(result => result.matches)
    );

    isHandSet$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Handset)
    .pipe(
      map(result => result.matches)
    );

【讨论】:

以上是关于固定汉堡图标角的主要内容,如果未能解决你的问题,请参考以下文章

ps做图中怎么将裁剪工具四个角灵活拖动,而不是固定的四边形

固定图标状态

更改固定的任务栏图标(Windows 7)

PX4从放弃到精通(二十七):固定翼姿态控制

为字体真棒图标设置固定尺寸

如何以编程方式使应用程序图标位置固定在跳板中