Après quelques recherches, j'ai abouti à cette conclusion qui a résolu le problème pour moi, j'espère qu'elle vous aidera aussi.
Étape 1 : Créez vos propres palettes à partir des couleurs de la marque.
J'ai trouvé ce site génial où vous entrez la couleur de votre marque, et il crée une palette complète avec les différentes nuances de cette couleur : http://mcg.mbitson.com
J'ai utilisé cet outil pour mes deux primary
(qui est la couleur de ma marque) et la couleur accent
couleur.
Étape 2 : Créer des palettes dans le fichier de votre thème personnalisé
Voici un guide pour la création d'un tel système .scss
fichier : https://github.com/angular/material2/blob/master/guides/theming.md
@import '~@angular/material/theming';
// Be sure that you only ever include 'mat-core' mixin once!
// it should not be included for each theme.
@include mat-core();
// define a real custom palette (using http://mcg.mbitson.com)
$bv-brand: (
50: #ffffff,
100: #dde6f3,
200: #b4c9e4,
300: #7fa3d1,
400: #6992c9,
500: #5282c1,
600: #4072b4,
700: #38649d,
800: #305687,
900: #284770,
A100: #ffffff,
A200: #dde6f3,
A400: #6992c9,
A700: #38649d,
contrast: (
50: $black-87-opacity,
100: $black-87-opacity,
200: $black-87-opacity,
300: $black-87-opacity,
400: $black-87-opacity,
500: white,
600: white,
700: white,
800: white,
900: white,
A100: $black-87-opacity,
A200: $black-87-opacity,
A400: $black-87-opacity,
A700: white,
)
);
$bv-orange: (
50: #ffffff,
100: #fff7f4,
200: #fecdbd,
300: #fc9977,
400: #fc8259,
500: #fb6c3b,
600: #fa551d,
700: #f44205,
800: #d63a04,
900: #b83204,
A100: #ffffff,
A200: #fff7f4,
A400: #fc8259,
A700: #f44205,
contrast: (
50: $black-87-opacity,
100: $black-87-opacity,
200: $black-87-opacity,
300: $black-87-opacity,
400: $black-87-opacity,
500: white,
600: white,
700: white,
800: white,
900: white,
A100: $black-87-opacity,
A200: $black-87-opacity,
A400: $black-87-opacity,
A700: white,
)
);
// mandatory stuff for theming
$bv-palette-primary: mat-palette($bv-brand);
$bv-palette-accent: mat-palette($bv-orange);
// include the custom theme components into a theme object
$bv-theme: mat-light-theme($bv-palette-primary, $bv-palette-accent);
// include the custom theme object into the angular material theme
@include angular-material-theme($bv-theme);
Quelques explications sur le code ci-dessus
Les chiffres sur le côté gauche définissent le "niveau" de luminosité. La valeur par défaut est 500 (ce qui correspond à la véritable nuance de la couleur de ma marque/couleur d'accent). Ainsi, dans cet exemple, la couleur de ma marque est #5282c1
. Les autres sont des nuances de cette couleur (les chiffres les plus bas correspondent à des nuances plus claires et les chiffres les plus élevés à des nuances plus foncées). Le site AXXX
sont des teintes différentes. Je ne sais pas (encore) où elles sont utilisées. Encore une fois, un chiffre plus bas signifie plus clair et un chiffre plus haut signifie plus foncé.
Le site contrast
définit la couleur de la police sur ces couleurs de fond. Il est très difficile (voire impossible) de calculer via les CSS où la police doit être claire (blanche) ou foncée (noire avec une opacité de 0,87) afin qu'elle soit facilement lisible, même pour les daltoniens. Ces paramètres sont donc définis manuellement et codés en dur dans la définition de la palette. Le générateur de palette dont j'ai donné le lien ci-dessus fournit également ces informations (bien qu'elles soient générées dans l'ancien format Material1, et que vous deviez les convertir manuellement au format Material2 comme je l'ai indiqué ici).
Configurer le thème pour utiliser la palette de couleurs de la marque comme le primary
couleur, et tout ce que vous avez comme accent comme votre accent
couleur.
Étape 3 : Utilisez le thème dans l'ensemble de l'application partout où vous le pouvez.
Certains éléments peuvent prendre les couleurs du thème, comme <md-toolbar>
, <md-input>
, <md-button>
, <md-select>
et ainsi de suite. Ils utiliseront primary
par défaut, assurez-vous donc de définir la palette de couleurs de la marque comme primaire. Si vous souhaitez modifier la couleur, utilisez la fonction color
(s'agit-il d'une directive Angular ?).
Par exemple :
<button mat-raised-button color="accent" type="submit">Login</button>
0 votes
material.angularjs.org/latest/Theming/01_introduction
0 votes
@anshuVersatile Merci pour votre contribution ! Je comprends maintenant le problème de la numérotation. J'apprécie beaucoup :-)