Material2 verwenden eine Themenbasis für Elemente im Kern. Sie können den Stil mit Mixins mit Sass ändern oder ein für Ihre App spezifisches Thema definieren. Die Art und Weise für die Verwendung dieser ist:
Erstellen Sie zunächst ein Thema die offizielle Dokumentation mit:
Zweitens erstellen mixin für eine Komponente ausgewählt:
Die Weg für das abgeschlossen ist, ist einfach. Sie müssen eine neue Komponenten erstellt, zum Beispiel
ng g c components/my_component_styleded
diese erstellen 4 Dateien:
- my_component_styleded.component.html
- my_component_styleded.component.html.scss
- my_component_styleded.component.spec .ts
- my_component_styleded.component.html.ts
In der * .scss Include den allgemeinen Stil für Ihre Komponente (Struktur-Stil) und in der * .html-Datei enthalten die Struktur HTML für Ihre Komponente. Zum Beispiel:
<div>
<button md-raised-button routerLink="/stock">STOCK OF PRODUCTS</button>
</div>
Jetzt erstellt eine neue Datei mit dem Namen: ‚my_component_styleded.component.html.scss-theme.scss‘ im Verzeichnis, und mit dem Folge Code verwenden, um die mixin für das Element Button personalisieren:
@import '[email protected]/material/theming';
@mixin my_component_styleded-theme($theme) {
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
div {
button {
color: $accent;
&:hover, &:focus {
color: $primary;
border-left: 5px solid mat-color($accent);
}
}
}
}
Sie können andere Variablen mit Sass und anderen Dingen in Ihrem Kopf erklären.
Schließlich müssen Sie diese mixin im Haupt style.scss der App hinzufügen:
- style.scss -
@import '[email protected]/material/theming';
@include mat-core();
// Custom component themes:
@import 'app/components/my_component_styleded/my_component_styleded.component.scss-theme';
@mixin custom_component-theme($asis-light-theme) {
@include my_component_styleded-theme($asis-light-theme);
}
// Light Theme
@include angular-material-theme($asis-light-theme);
@include custom-component-theme($asis-light-theme);
;)
ich auf eine Antwort haben sehr ähnliche Frage hier: http://stackoverflow.com/a/39379754/13825 – Gopherkhan
Mögliche Duplikat von [Anwenden von Stil auf Material2 Komponente funktioniert nicht] (http://StackOverflow.com/Questions/38360065/applying-style-to -material2-komponente-tut-nicht-arbeiten – Gopherkhan