Quero usar as cores da marca da minha empresa em todo o aplicativo.
Eu encontrei este problema: AngularJS 2 - Design de material - definir paleta de cores onde posso construir um tema supostamente personalizado , mas basicamente usa diferentes partes de paletas pré-construídas. Não quero usar as cores predefinidas do Material2. Quero minhas cores únicas e especiais de marca. Existe uma maneira melhor (mais certa?) De criar meu próprio tema, do que apenas hackear _palette.scss
?
Preciso fazer um mixin para a paleta da minha marca? Se sim - algum guia sobre como fazê-lo corretamente? Quais são os significados dos diferentes tons de cores (marcados com números como: 50, 100, 200, A100, A200 ...)?
Qualquer informação sobre esta área será muito apreciada!
Respostas:
Depois de algumas pesquisas acabei com essa conclusão que resolveu para mim, espero que ajude você também.
Passo 1: Crie suas próprias paletas de cores de marca.
Encontrou este site incrível onde você insere a cor da sua marca, e ele cria uma paleta completa com os diferentes tons dessa cor da marca: http://mcg.mbitson.com
Usei essa ferramenta tanto para a minha
primary
cor (que é a cor da minha marca) quanto para aaccent
cor.Passo 2: Crie paletas em seu arquivo de tema personalizado
aqui está um guia de como criar esse
.scss
arquivo: https://github.com/angular/material2/blob/master/guides/theming.mdAlguma explicação sobre o código acima
Os números do lado esquerdo definem o "nível" de brilho. O padrão é 500 (que é o tom real da cor da minha marca / cor de destaque). Portanto, neste exemplo, a cor da minha marca é
#5282c1
. O resto são outras tonalidades dessa cor (onde números mais baixos significam tonalidades mais brilhantes e números mais altos significam tonalidades mais escuras). OAXXX
são diferentes tons. Não tenho certeza (ainda) de onde eles estão sendo usados. Novamente, um número menor significa mais claro e números mais altos significa mais escuro.O
contrast
define a cor da fonte sobre as cores de fundo. É muito difícil (ou mesmo impossível) calcular via CSS onde a fonte deve ser clara (branca) ou escura (preta com opacidade 0,87), por isso é facilmente legível mesmo para pessoas daltônicas. Portanto, isso é definido manualmente e codificado na definição da paleta. Você também obtém isso do gerador de paleta que vinculei acima (embora esteja sendo gerado no antigo formato Material1, e você terá que convertê-lo manualmente para o formato Material2 como eu postei aqui).Defina o tema para usar a paleta de cores da marca como a
primary
cor e tudo o que você tiver para o destaque como suaaccent
cor.Etapa 3: use o tema em todo o aplicativo sempre que puder
Alguns elementos podem levar as cores do tema, como
<md-toolbar>
,<md-input>
,<md-button>
,<md-select>
e assim por diante. Eles serão usadosprimary
por padrão, portanto, certifique-se de definir a paleta de cores da marca como primária. Se você quiser mudar a cor, use acolor
diretiva (é uma diretiva Angular?).Por exemplo:
<button mat-raised-button color="accent" type="submit">Login</button>
fonte
@import '~@angular/material/theming'; @include mat-core();
Tente usar o site abaixo, parece fácil personalizar os temas angulares. https://materialtheme.arcsine.dev/
fonte