大佬教程收集整理的这篇文章主要介绍了粘滞的工具栏材料2和sidenav,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<md-toolbar class="fixed-header"> <button class="app-icon-button" (click)="start.toggle()"> <i class="material-icons app-toolbar-menu">menu</i> </button> </md-toolbar> <md-sidenav-container> <md-sidenav #start class="app-sidebar" mode="side">test</md-sidenav> <div class="text"> {{ text }} </div> </md-sidenav-container>
现在好像我实现了布局,但定位并不固定,如果我滚动工具栏移动和sidenav内容也移动.
编辑:
https://stackblitz.com/angular/rmjxrpxdgmx?file=app%2Fsidenav-responsive-example.html
HTML文件:
<div class="example-container" [class.example-is-mobile]="mobileQuery.matches" *ngIf="shouldRun"> <mat-toolbar color="priMary" class="example-toolbar"> <button mat-icon-button (click)="snav.toggle()"><mat-icon>menu</mat-icon></button> <h1 class="example-app-name">Responsive App</h1> </mat-toolbar> <mat-sidenav-container class="example-sidenav-container" [style.marginTop.px]="mobileQuery.matches ? 56 : 0"> <mat-sidenav #snav [mode]="mobileQuery.matches ? 'over' : 'side'" [fixedInViewport]="mobileQuery.matches" fixedTopGap="56"> <mat-nav-list> <a mat-list-item routerLink="." *ngFor="let nav of fillerNav">{{nav}}</a> </mat-nav-list> </mat-sidenav> <mat-sidenav-content> <p *ngFor="let content of fillerContent">{{Content}}</p> </mat-sidenav-content> </mat-sidenav-container> </div>
TS档案:
import {MediaMatcher} from '@angular/cdk/layout'; import {ChangeDetectorRef,Component,OnDestroy} from '@angular/core'; /** @title Responsive sidenav */ @Component({ SELEctor: 'sidenav-responsive-example',templateUrl: 'sidenav-responsive-example.html',styleUrls: ['sidenav-responsive-example.css'],}) export class SidenavResponsiveExample implements OnDestroy { mobileQuery: MediaQueryList; fillerNav = Array.from({length: 50},(_,i) => `Nav Item ${i + 1}`); fillerContent = Array.from({length: 50},() => `Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum.`); private _mobileQueryListener: () => void; constructor(changeDetectorRef: ChangeDetectorRef,media: MediaMatcher) { this.mobileQuery = media.matchMedia('(max-width: 600pX)'); this._mobileQueryListener = () => changeDetectorRef.detectChanges(); this.mobileQuery.addListener(this._mobileQueryListener); } ngOnDestroy(): void { this.mobileQuery.removeListener(this._mobileQueryListener); } }
CSS文件:
.example-container { display: flex; flex-direction: column; position: absolute; top: 0; bottom: 0; left: 0; right: 0; } .example-is-mobile .example-toolbar { position: fixed; /* Make sure the toolbar will stay on top of the content as it scrolls past. */ z-index: 2; } h1.example-app-name { margin-left: 8px; } .example-sidenav-container { /* When the sidenav is not fixed,stretch the sidenav container to fill the available space. This causes `<mat-sidenav-content>` to act as our scrolling element for desktop layouts. */ flex: 1; } .example-is-mobile .example-sidenav-container { /* When the sidenav is fixed,don't consTrain the height of the sidenav container. This allows the `<body>` to be our scrolling element for mobile layouts. */ flex: 1 0 auto; }
感谢您创建了一个plnkr演示,它帮助我们快速找到了解决方案.这是修改后的demo.
app.component.html:
<md-toolbar class="fixed-header"> <button class="app-icon-button" (click)="start.toggle()"> <i class="material-icons app-toolbar-menu">menu</i> </button> </md-toolbar> <md-sidenav-container > <div class="text" style="min-height: 99vh"> {{ text }} </div> </md-sidenav-container> <md-sidenav #start class="app-sidebar side-nav-style" mode="side" > test </md-sidenav>
app.component.css:
.fixed-header { top: 0; position: fixed; z-index:999; } .text { width: 5px; } .side-nav-style{ BACkground-color: grey; width: 6em; margin-top:62px; position: fixed }
如果您正在寻找,请告诉我.
以上是大佬教程为你收集整理的粘滞的工具栏材料2和sidenav全部内容,希望文章能够帮你解决粘滞的工具栏材料2和sidenav所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。