角張った素材のCSS
Sep 16 2020
マットサイドナビのコンテンツ幅を100%に設定してみましたが、幅の全スペースを占めると思いました
詳細については、これはhtmlです。
<mat-sidenav-container class="sidenav-container">
<mat-sidenav #drawer
class="sidenav"
fixedInViewport
[attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'" [mode]="(isHandset$ | async) ? 'over' : 'side'"
[opened]="false">
<mat-toolbar>
<button mat-button
(click)="drawer.close()">
<mat-icon>close</mat-icon>
</button>
</mat-toolbar>
<mat-nav-list>
<a mat-list-item
routerLink="/"
(click)="drawer.close()">Home</a>
<a mat-list-item
routerLink="/products"
(click)="drawer.close()">Products</a>
</mat-nav-list>
</mat-sidenav>
<mat-sidenav-content>
<mat-toolbar>
<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>
<span class="logo"
routerLink="/">
<img class="ww-logo"
src="assets/images/WWtrans.png" />
</span>
<div>
<button mat-button
class="button">
<mat-icon aria-label="Search for a product"
svgIcon="search"></mat-icon>
</button>
<button mat-button
class="button">
<mat-icon aria-label="Login if the user hasn't logged in yet"
svgIcon="login"></mat-icon>
</button>
<button mat-button
class="button">
<mat-icon aria-label="Show what's inside the cart"
svgIcon="shopping-cart"></mat-icon>
</button>
</div>
</mat-toolbar>
</mat-sidenav-content>
</mat-sidenav-container>
そしてここにcssがあります
.logo {
display: flex;
margin: auto auto;
outline: none;
align-self: center;
justify-content: center;
align-self: center;
min-width: 100px;
max-width: 100px;
.ww-logo {
width: 60%;
cursor: pointer;
}
}
.button {
border: 1px solid red;
width: 10px;
}
.sidenav-container {
height: 100%;
width: 100%;
}
mat-sidenav-content {
width: 100%;
}
よろしくお願いします
回答
robbieAreBest Sep 17 2020 at 02:58
mat-toolbar要素が水平方向のスペースをオーバーフローするという問題が発生しているようです。ロゴが占めるスペースを調整できる場合があります。
また、あなたの.buttonクラスに追加したwidth: 10px;ようですが、これは適用されていないようです。この理由の1つは、ボタンのサイズを縮小する場合にオーバーライドする必要がある可能性があることmat-buttonを指定するスタイルが付属しているmin-width: 64px;ことです。
上記のアプローチが機能する場合は、ボタンのパディングも調整することをお勧めします。以下は役立つかもしれませんが、実際にテストすることはできませんでした。
.button {
border: 1px solid red;
min-width: 32px !important;
padding: 2px !important;
}