Eckig - Material: Progressbar benutzerdefinierte Farbe?
Ich versuche nun seit Stunden. Ich benutze Material2 und wollen einfach, ändern Sie die Farbe der progress-bar. Ich weiß es gibt diese Themen (primär/Akzent/warn), aber ich möchte eine individuelle Farbe (grün) für meine progressbar.
Ich habe bereits versucht die schrägsten css-Kombinationen.. aber ohne viel Aufwand. Vielleicht hatte jemand das gleiche problem?
- Wie über die Einstellung der folgenden Klassen: github.com/angular/material2/blob/master/src/lib/progress-bar/...
InformationsquelleAutor Mka24 | 2018-02-19
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vorschlagen kann, ändern Sie die vorgegebenen primär - /warnen/Akzent Farben, um Ihre eigene Farbe.
In Ihrem
styles.scss
(wenn Ihre Stil-Datei ist die css, die Sie haben zu ändern, um Unterstützung scss):angular-cli.json
, da ich das überschreiben der Farben 🙂 . großen DankKönnen Sie
::ng-deep
- Selektor, um zu erreichen, was Sie wollen, diese Antwort hat einige Informationen über Sie.Wie ich es gemacht habe:
CSS
HTML
Und das Ergebnis ist dieses:
EDIT:
Ich einen Weg gefunden, Sie zu vermeiden, mit
::ng-deep
wie wird es entfernt von eckigen bald.Es scheint, dass, wenn Sie bewegen Sie Ihren Stil von Ihrem
component.css
Datei zum globalenstyles.css
Datei funktioniert es ohne::ng-deep
.So, einen Stil, der oben definiert sind, können Sie in den
Verschieben Sie es an
styles.css
und es wird angewendet, wie diese:Dieser arbeitete für mich auf ein neues Projekt. Ich habe nicht geprüft spezifisch mit dem alten code, aber die Bedingungen sind die gleichen, und es gibt keinen Grund dafür, nicht zu arbeiten.
Update:
Vermeiden Sie die Verwendung von tiefen,
TL;DR: Tief ist technisch ungültig (wie deeprecated :p)
Für mehr info siehe: Die Nutzung /Tiefe/und >>> im Winkel 2
Nun, um die Farbe zu ändern mat-Statusanzeige
Hier ist, wie ich es geschafft habe,
Den Kopf über Ihre Stile.scss-Datei (oder die Haupt-css/scss-Datei in Ihrem Projekt)
Fügen Sie diese Klasse -->
Ihre mat-Fortschritt sollte die Verwendung der oben genannten Klasse, wie -->
Da keiner der bisher genannten...
Er ist, wie ich es gelöst.
@Meet Dave Recht hat mit seinem Ansatz. Aber Sie sollten
encapsulation: ViewEncapsulation.None
(deaktiviert css-Module)Etwas wie dieses:
Komponente
Sass (in meinem Fall)
Ansicht
Für mich, ich brauche nur zu setzen in CSS von dieser Regel:
div.mat-progress-bar-primary.mat-progress-bar-fill.mat-progress-bar-element::after{
background-color: green;
}
Aber deutlich einfacher ist, wenn man ein theme benutzen.
Winkel 7 und Material 7.1.1
Können Sie überschreiben Sie nur die Statusleiste backgroud-color mit dieser Methode hinzugefügte benutzerdefinierte Klasse css anzuwenden, die durch Kombination von tag-und Klasse-wie-
<mat-progress-bar class="my-color" mode="determinate" value="40"></mat-progress-bar>
Wechsel in Stil.css
mat-progress-bar.my-color .mat-progress-bar-fill::after {
background-color: green;
}
!important
sonst machen eine demo url