So ändern Sie die Schriftfarbe von primär-palette in Eckigen Material2?
In der offiziellen Thematisierung Dokumentation Winkel-Material2 es besagt eindeutig Folgendes:
In Eckig Material, ein Thema wird erstellt, durch das zusammensetzen von mehreren Paletten. Insbesondere ein theme besteht aus:
- Eine primäre palette: Farben am meisten verbreitet über alle Bildschirme und Komponenten.
- Einen Akzent palette: Farben für die floating-action-button und interaktive Elemente.
- Ein warn-palette: Farben verwendet, um zu vermitteln, Fehler-Zustand.
- Eine Vordergrund-palette: Farben für text und Symbole.
- Hintergrund-palette: Farben für element Hintergründen.
Aber in jedem Beispiel, das Sie ändern nur die ersten drei:
@import '~@angular/material/theming';
@include mat-core();
$candy-app-primary: mat-palette($mat-indigo);
$candy-app-accent: mat-palette($mat-pink, A200, A100, A400);
$candy-app-warn: mat-palette($mat-red);
$candy-app-theme: mat-light-theme($candy-app-primary, $candy-app-accent, $candy-app-warn);
@include angular-material-theme($candy-app-theme);
Also meine Frage ist: Wie kann ich ändern Sie die Vordergrund-palette, um die Farbe des Textes für die primäre oder die sekundäre palette?
Gibt es einige websites ( materialpalette.com , material.io), die zeigen die Farb-palette für die einfache Visualisierung aber immer noch, Sie sagen nicht, wie zu zählen oder zu ändern, die palette in Winkel-Material2.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die Standardeinstellung ändern Thema Farbe, indem Sie Ihre eigenen Vorder-Karte und führen Sie Sie in das erstellte Thema, bevor Sie es. Hier ist, wie:
Bauen das Thema Objekt wie gewohnt.
Bauen Sie Ihre benutzerdefinierten Vordergrund-mit einer benutzerdefinierten Funktion Rückkehr Vordergrund anzeigen, wie definiert in
@angular/material/_theming.scss
->$mat-light-theme-foreground
Funktion.Sie können spielen mit der Karte und definieren Sie nur die Felder, die Sie wollen, und lassen Sie die andere als Standard.
Verschmelzen die zuvor erstellte Thema nur mit der Vorder-Karte und initialisieren Sie Ihr benutzerdefiniertes Thema.
Hinweis: Da alle Karten in SCSS unveränderlich sind die
map-merge()
gibt neue map-Instanz und NICHT ändern Sie die Karte in Platz - somit haben wir eine weitere variable$my-app-theme-custom
zu halten, das Ergebnis Thema.Hinweis: ich bin mit Eckig Material v2.0.0-beta.8
Argument
$Farbe` vonopacity($color)
muss eine Farbe` - Die obenmy-mat-light-theme-foreground($color)
Funktion fehlt die Eigenschaft fürslider-min
slider-min
im Vordergrund anzeigen.Der guide ist verfügbar auf der Dokumentations-Webseite hier.
Zuerst definieren Sie die Paletten, die für Ihr Thema, wie
$primary
,$accent
,$warn
(in der Anleitung haben Sie$candy-app-
Präfix) und erstellen Sie dann eine$theme
Objekt:Haben wir einmal ein Thema, das enthält alle Paletten, die wir bekommen können eine Vordergrund-palette aus:
Vom
$foreground
- palette, die wir bekommen können alle Werte, basierend auf einem Schlüssel, wieoder
Hier ist der code zum abrufen der
secondary-text
Eigenschaft:Wechselte ich zu
2.0.0-beta.3
aus2.0.0-beta.2
und die Ordner-Struktur sieht anders aus, Sie haben Recht.Es ist jetzt
\node_modules\@angular\material\_theming.scss
,_palette.scss
Datei Weg ist. Sie können tun, eine Globale Suche für die es aber: '$mat-dark-Thema-hintergrund: ('_theming.scss
hat alle Farben, Karten und alle Funktionen, wiemat-color
Hier der code:
Können Sie finden die Karte unter: \node_modules\@Winkel\material\core\themes\
_palette.scss
Beispiel für das empfangen von "Sekundär-text':
$theme
,foreground
undsecondary-text
in deinem Beispiel? Danke!