私はAngular 2 Materialを初めて使用しており、md-menuコンポーネントのスタイルをカスタマイズしようとしています。角2材質md-menuをカスタマイズする
<md-icon class="material-icons" [mdMenuTriggerFor]="menu">dehaze</md-icon>
<md-menu #menu="mdMenu" [overlapTrigger]="false">
<button md-menu-item>Item 1</button>
<button md-menu-item>Item 2</button>
</md-menu>
、事前に定義されたスタイル設定が(例えば、非重複するメニューを設定する)正常に動作が、私は100%の幅にMD-メニューを設定して、MD-アイコンボタンの間に小さなスペースを持っていると思いますそれはpredefined directives from Angular 2 Materialでできないメニューを展開します。
これまでのところ、/ deep/cssコマンドで解決策を見つけましたが、このコマンドは主要なブラウザではサポートされていません。
Angular 2 Materialコンポーネントをカスタマイズするにはどうすればよいですか?私はどのようにして100%の幅と拡大ボタンの間にいくらかのスペースがあるように、私のMDメニューをスタイルすることができますか?私が何を言っているか説明するために
ありがとうございます、あなたのソリューションは私のために働いた。私はまだ2つの質問があります:なぜあなたは ".mat-menu-panel"を使う必要があるのを知っていますか? Angular Materialのドキュメントにその名前が表示されませんでした。それで、グローバルなstyles.cssではなく、app.component.cssでそのクラスを定義することはどういうことでしょうか?私はそれを試しましたが、コード部分がグローバルstyles.cssにあるときにはうまくいくようです。 – Polarfox
私は '.mat-menu-panel'を使うために、メニューを開いた後でDOMを調べることにしました。私はクラスが追加される場所を正確にはわからなかったので、私は入って見つけなければなりませんでした。元の.mat-menu-panelスタイルをより具体的にするためには、少なくとも2つのセレクタを使用することが重要です。また、app.component.cssでこれらのスタイルを定義することもできますが、コンポーネントでViewEncapsulationをNoneに設定する必要があります。これは、メニューパネルがアプリケーションコンポーネントではなく、md-menuコンポーネントの直接の子であるためです。 –