2017-10-19 1 views
0

Ich habe eine Menge Probleme damit, und die scheinbaren Lösungen funktionieren nicht oder etwas falsch (wahrscheinlich letzteres).Set Mat-Menü-Stil

Ich möchte meine mat-menu und die mat-menu-item ‚s, Stil, ive versucht, dies zu tun:

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

Aber es funktioniert nicht, sieht mein Menü wie dieses (nichts 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 habe auch versucht/deep/aber ich weiß, dass sollte nicht funktionieren und in der Tat sollte in Angular 4 abgeschrieben werden, aber ich habe es zu testen, ich bin mir nicht sicher, wie man die Elemente an diesem Punkt style.

+0

'.mat-menu-panel' könnte, sowie mit' ViewEncapsulation.None' –

+0

dem Panel Anruf hilft leider tut alles tun, und ich bin mir nicht sicher, wo ich diese Sichtverkapselung auf keine setzen würde? D: – Cacoon

+1

Ich gehe weiter und schreibe eine detailliertere Antwort für ya –

Antwort

1

app.component.ts

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

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

export class AppComponent { 
    constructor() { } 
} 

my.component.css

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

ich dies in der Regel verwenden, um die Höhe und Überlauf css, aber die allgemeine Idee sollte noch zum ursprünglichen Stil stehen für Hintergrundfarbe. Bitte beachten Sie, dass es andere überlagernde divs mit Hintergrundfarben geben kann, aber Sie sollten in der Lage sein, auf diese Weise auf ihre .mat-menu-<item name> css zuzugreifen und untergeordnete Elemente auf die gleiche Weise zu ändern.

+0

Vielen Dank! Ich habe mich gerade gefragt, wie man die Fade-Farbe auch editiert, sie beginnt mit der "Standard" -Graufarbe und blendet sich in die benutzerdefinierte Farbe ein, die ich eingestellt habe, wie du gezeigt hast, ist das nur Versuch und Irrtum? Ich frage nicht, weil ich versuche, deine falsche zu implizieren, nur gefragt, ob Sie wussten, danke für diese brillante Lösung! – Cacoon

+1

Update: Das Menü-Panel, also alles gute Danke für die Hilfe! – Cacoon

+1

Update 2: Ich muss mich wirklich noch einmal bedanken, diese Lösung erlaubt mir, endlich alles in Material 2 einfach und effektiv anzupassen !! <3 – Cacoon

0

definieren Original background-color und mouseover Farbe sowohl im CSS:

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

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

button.mat-menu-item:hover { 
    background-color: blue; 
    color: #fff !important; 
}