2017-10-19 32 views
0

Imはこれに問題があり、見た目の解決策が機能していないか、何か間違ったことをしています(おそらく後者です)。私は私のmat-menumat-menu-item年代のスタイルを設定したいマットメニューのスタイルを設定する

は、IVEはこれをやってみました:

::ng-deep .mat-menu{ 
    background-color:red; 
} 

しかし、それは仕事をdoesntの、私のメニューは、この(abornomal何も)のように見えます

<mat-menu #infoMenu="matMenu"> 
    <button mat-menu-item> 
    <mat-icon>dialpad</mat-icon> 
    <span>Resume</span> 
    </button> 
    <button mat-menu-item> 
    <mat-icon>voicemail</mat-icon> 
    <span>Portfolio</span> 
    </button> 
    <button mat-menu-item> 
    <mat-icon>notifications_off</mat-icon> 
    <span>References</span> 
    </button> 
    <button mat-menu-item> 
    <mat-icon>notifications_off</mat-icon> 
    <span>Contact</span> 
    </button> 
</mat-menu> 

I私はそれがうまくいかないことは知っていますが、Angular 4では減価償却されるべきですが、私はそれを試しました。この時点でどのように要素をスタイルするかはわかりません。

+0

'.MAT-メニューpanel'は悲しげにdoesntの何もし' ViewEncapsulation.None' –

+0

パネルの呼び出しを使用して助けるだけでなく、可能性があります、私はそのviewencapsulationをどこに設定するのかわからないのですか? D: – Cacoon

+1

私は先に進み、より詳細な答えを書きます。 –

答えて

1

app.component.ts私は通常、まだすべき高さとオーバーフローCSSのスタイルを、これを使用しますが、一般的な考え方

import { Component, ViewEncapsulation ... } from '@angular/core'; 

@Component({ 
    ... 
    encapsulation: ViewEncapsulation.None 
}) 

export class AppComponent { 
    constructor() { } 
} 

my.component.css

.mat-menu-content { 
    background-color: 'red' !important; 
} 

背景色を表す。背景色を持つ他のオーバーレイするdivがあるかもしれませんが、あなたは.mat-menu-<item name> cssでこのようにアクセスして、同じ方法で子供のアイテムを変更することができるはずです。

+0

ありがとう!フェードの色を編集する方法については疑問に思っていました。「デフォルト」の灰色から始まり、どのように設定したかのように設定したカスタム色に変わります。試行錯誤です。あなたが知っていればあなたが間違っていることを暗示しようとしている私がこの素晴らしい解決策のおかげで不思議に思ったからです。 – Cacoon

+1

更新:そのメニューパネルだから、すべての助けてくれてありがとう! – Cacoon

+1

更新2:本当にありがとうございました。この修正により、最終的に素材2のすべてを簡単かつ効果的にカスタマイズできます。 <3 – Cacoon

0

は、両方のCSSで元background-colormouseover色を定義します。

.mat-menu-item { 
    color: blue !important; 
} 

button.mat-menu-item{ 
    background-color: white; 
} 

button.mat-menu-item:hover { 
    background-color: blue; 
    color: #fff !important; 
} 
関連する問題