Chcę używać kolorów marki mojej firmy w całej aplikacji.
Znalazłem ten problem: AngularJS 2 - Material design - ustaw paletę kolorów, w której mogę zbudować rzekomo niestandardowy motyw, ale w zasadzie jest to po prostu użycie różnych części gotowych palet. Nie chcę używać predefiniowanych kolorów Material2. Chcę mieć niepowtarzalne i specjalne kolory marki. Czy jest lepszy sposób (lepiej?) Na stworzenie własnego motywu niż zwykłe robienie zdjęć _palette.scss
?
Czy muszę zrobić mixin dla mojej palety marek? Jeśli tak - jakieś poradniki, jak to zrobić poprawnie? Jakie znaczenie mają różne odcienie kolorów (oznaczone numerami: 50, 100, 200, A100, A200 ...)?
Wszelkie informacje na ten temat będą mile widziane!
Odpowiedzi:
Po kilku badaniach doszedłem do tego wniosku, który rozwiązał go dla mnie, mam nadzieję, że ci też pomoże.
Krok 1: Stwórz własne palety z kolorów brandingowych.
Znalazłem tę niesamowitą stronę internetową, na której wpisujesz kolor swojej marki i tworzy ona kompletną paletę z różnymi odcieniami koloru tej marki: http://mcg.mbitson.com
Użyłem tego narzędzia zarówno do mojego
primary
koloru (który jest kolorem mojej marki), jak i doaccent
koloru.Krok 2: utwórz palety w niestandardowym pliku motywu
oto poradnik jak stworzyć taki
.scss
plik: https://github.com/angular/material2/blob/master/guides/theming.mdKilka wyjaśnień na temat powyższego kodu
Liczby po lewej stronie określają „poziom” jasności. Wartość domyślna to 500 (czyli prawdziwy odcień koloru mojej marki / koloru akcentującego). W tym przykładzie kolor mojej marki to
#5282c1
. Reszta to inne odcienie tego koloru (gdzie niższe liczby oznaczają jaśniejsze odcienie, a wyższe liczby oznaczają ciemniejsze odcienie).AXXX
Są różne odcienie. Nie wiem (jeszcze), gdzie są używane. Ponownie, niższa liczba oznacza jaśniejszy, a wyższy numer oznacza ciemniejszy.contrast
Ustawia kolor czcionki na tych kolorów tła. Jest bardzo trudne (lub nawet niemożliwe) obliczenie za pomocą CSS, gdzie czcionka powinna być jasna (biała) lub ciemna (czarna z kryciem 0,87), więc jest łatwa do odczytania nawet dla osób niewidomych na kolory. Jest to więc ustawiane ręcznie i na stałe zakodowane w definicji palety. Dostajesz to również z generatora palet, który połączyłem powyżej (chociaż jest on wyprowadzany w starym formacie Material1 i będziesz musiał ręcznie przekonwertować to na format Material2, tak jak zamieściłem tutaj).Ustaw motyw, aby użyć palety kolorów marki jako
primary
koloru i wszystkiego, co masz jako akcent jakoaccent
kolor.Krok 3: Używaj motywu w całej aplikacji, gdzie tylko możesz
Niektóre elementy mogą podjąć kolorów motywu, jak
<md-toolbar>
,<md-input>
,<md-button>
,<md-select>
i tak dalej. Będą używaneprimary
domyślnie, więc upewnij się, że ustawiłeś paletę kolorów marki jako podstawową. Jeśli chcesz zmienić kolor, użyjcolor
dyrektywy (czy jest to dyrektywa Angular?).Na przykład:
<button mat-raised-button color="accent" type="submit">Login</button>
źródło
@import '~@angular/material/theming'; @include mat-core();
Spróbuj użyć poniższej witryny, wydaje się to łatwe do dostosowania motywów kątowych. https://materialtheme.arcsine.dev/
źródło