Elevações
Elevações são usadas para estabelecer e manter limites funcionais entre árvores do Document Object Model para permitir melhor encapsulamento funcional. A implementação das Elevações no Ignite UI for Angular é modelada após as Elevações no Material Design.
Visão geral
As sombras no Ignite UI for Angular seguem de perto as diretrizes do Material Design para estabelecer hierarquia de profundidade com base em 25 níveis de elevação. O tamanho da projeção de sombra está relacionado ao número do nível de elevação. Quanto maior o número do nível de elevação, maior será a sombra. As elevações no Ignite UI for Angular são expostas como variáveis CSS. Cada variável armazena um conjunto de 3 box-shadows
. Essas box-shadows
representam os elementos umbra, penumbra e antumbra que são as propriedades das sombras conforme observadas no mundo real.
Aqui está uma lista de elevações de repouso usadas em vários componentes do Ignite UI for Angular no tema Material e seus nomes de variáveis CSS correspondentes:
Componente | Nível de elevação padrão | Variável CSS |
---|---|---|
banner, botão, brinde | 0 | --ig-elevação-0 |
emblema, botões de carrossel, entrada de pesquisa | 1 | --ig-elevação-1 |
grupo de botões, botão contido, cartão, grade, interruptor | 2 | --ig-elevação-2 |
barra de navegação, barra de lanches | 4 | --ig-elevação-4 |
botão de ação flutuante, | 6 | --ig-elevação-6 |
navegação inferior, chip fantasma, menu suspenso | 8 | --ig-elevação-8 |
gaveta de navegação | 16 | --ig-elevação-16 |
diálogo | 24 | --ig-elevação-24 |
Como você pode ver na coluna CSS Variable
, todas as elevações são definidas no seguinte formato--ig-elevation-[level]
. Como mencionado, o número do nível de elevação vai de 0 a 24 (inclusive).
Usage
Para começar a usar elevações em seus próprios componentes, tudo o que você precisa é referenciar o nome da variável do nível desejado.
.floaty-element {
box-shadow: var(--ig-elevation-6);
}
Alterar a elevação em um tema de componente existente funciona de forma semelhante.
[igxButton="contained"] {
--resting-shadow: var(--ig-elevation-4);
--hover-shadow: var(--ig-elevation-12);
--focus-shadow: var(--ig-elevation-12);
}
A documentação para cada tema de componente lista a elevação padrão usada em cada um de seus estados. Se a elevação não estiver listada, o componente não usa nenhum dos níveis de elevação predefinidos.
Defining Elevations
Atualizar as elevações padrão funciona de forma semelhante à forma como as cores da paleta são atualizadas. Você simplesmente precisa reatribuir a variável a um valor diferente. Com elevações, certifique-se de que o valor seja um box-shadow
.
Exemplo:
/* styles.css */
:root {
--ig-elevation-1: 0 2px 6px 0 rgba(0, 0, 0, .18);
--ig-elevation-2: 0 3px 9px 0 rgba(0, 0, 0, .24);
}
Agora, todos os componentes que usam os níveis de elevação 1 e 2 terão suas sombras atualizadas.
Shadowing
Você pode sombrear as elevações definidas globalmente para um escopo específico apenas. Já vimos que o componente de botão usa o nível de elevação 2 para seu estado de repouso. O nível 2 também é usado pelos componentes de cartão e grade. Então, para alterar as sombras para todos os três, tudo o que você precisa fazer é:
[igxButton="contained"],
igx-grid,
igx-card {
--ig-elevation-2: 0 3px 9px 0 rgba(0, 0, 0, .24);
}
Isso definirá--resting-shadow
no botão e cartão contidos, e--grid-shadow
na grade, para o valor atribuído a--ig-elevation-2
;
Elevações podem ser criadas e consumidas de uma forma mais poderosa usando Sass também. Confira os tópicos relacionados abaixo para saber mais.
Additional Resources
Tópicos relacionados:
Nossa comunidade é ativa e sempre acolhedora para novas ideias.