Spacing
A configuração de espaçamento pode melhorar significativamente a representação visual de grandes quantidades de dados. Em Ignite UI for Angular, fornecemos um conjunto predefinido de opções para ajustar preenchimentos e margens.
Em vez de usar valores fixos, usamos propriedades personalizadas CSS para ajustar o espaçamento em um aplicativo ou em um nível de componente.
How Spacing Works
Ignite UI for Angular fornece um sistema de espaçamento sofisticado que é dimensionado dinamicamente com base nos tamanhos dos componentes (pequeno, médio, grande). O sistema de espaçamento é construído em torno de propriedades personalizadas de CSS que permitem controlar o espaçamento em um nível global ou de componente sem escrever CSS personalizado.
The Relationship Between Sizing and Spacing
O sistema de espaçamento em Ignite UI está intimamente ligado ao dimensionamento dos componentes. Os componentes podem ter três tamanhos diferentes:
- Pequeno- Espaçamento compacto para layouts densos
- Medium - Default balanced spacing.
- Espaçamento grande e confortável para interfaces amigáveis ao toque
O espaçamento se adapta automaticamente com base no tamanho ativo, garantindo uma hierarquia visual consistente em todo o aplicativo.
Core CSS Custom Properties
O sistema de espaçamento gira em torno de várias propriedades personalizadas CSS importantes:
Global Spacing Properties
--ig-spacing- O multiplicador de espaçamento base (padrão: 1)--ig-spacing-small- Espaçamento para componentes de pequeno porte--ig-spacing-medium- Espaçamento para componentes de tamanho médio.--ig-spacing-large- Espaçamento para componentes de grande porte
Directional Spacing Properties
--ig-spacing-inline- Controla o espaçamento horizontal--ig-spacing-block- Controla o espaçamento vertical--ig-spacing-inline-small- Espaçamento horizontal para componentes pequenos--ig-spacing-inline-medium- Espaçamento horizontal para componentes do meio--ig-spacing-inline-large- Espaçamento horizontal para componentes grandes--ig-spacing-block-small- Espaçamento vertical para componentes pequenos--ig-spacing-block-medium- Espaçamento vertical para componentes do meio--ig-spacing-block-large- Espaçamento vertical para componentes grandes
Size Detection Variables
Os componentes usam propriedades personalizadas CSS para detectar automaticamente seu tamanho atual:
--is-small- Definido como 1 quando o componente for pequeno, 0 caso contrário.--is-medium- Definido como 1 quando o componente é de tamanho médio, 0 caso contrário--is-large- Definido como 1 quando o componente é de tamanho grande, 0 caso contrário.--component-size- Valor numérico indicando o tamanho atual (1=pequeno, 2=médio, 3=grande).
Essas variáveis são gerenciadas automaticamente pelo sistema de tematização e mudam com base na configuração de tamanho do componente, controlada por--ig-size.
Practical Usage Examples
Global Spacing Control
Para tornar todos os componentes mais compactos em todo o aplicativo:
:root {
--ig-spacing: 0.8; /* 20% less spacing */
}
Para aumentar o espaçamento para melhor acessibilidade ao toque:
:root {
--ig-spacing: 1.2; /* 20% more spacing */
}
Component-Specific Spacing
Para ajustar o espaçamento para um tipo de componente específico:
.my-grid {
--ig-spacing: 0.5; /* More compact grid, 50% of the original spacing in all sizes */
}
Directional Spacing Control
Para reduzir apenas o espaçamento horizontal, mantendo o espaçamento vertical normal:
:root {
--ig-spacing-inline: 0.7;
--ig-spacing-block: 1.0;
}
Size-Specific Spacing
Para personalizar o espaçamento para tamanhos de componentes específicos:
:root {
--ig-spacing-small: 0.5; /* Very tight for small components */
--ig-spacing-medium: 1.0; /* Normal for medium components */
--ig-spacing-large: 1.5; /* Extra spacious for large components */
}
How Spacing Multipliers Work
O sistema de espaçamento usa multiplicadores para dimensionar valores base:
- Os valores de espaçamento nos componentes são multiplicados pelas variáveis de espaçamento ativas
- Por exemplo, se um componente tem
8pxpreenchimento base e você configura--ig-spacing: 1.5, o preenchimento real se torna12px - Multiplicadores específicos de tamanho, como
--ig-spacing-largeOverride o global--ig-spacingpara componentes de grande porte - Multiplicadores direcionais permitem
--ig-spacing-inlineescalar o espaçamento horizontal e vertical de forma independente
Essa abordagem em cascata garante relacionamentos de espaçamento consistentes, ao mesmo tempo em que oferece controle refinado apenas por meio de propriedades personalizadas CSS.
API References
Sizing Functions and Mixins
Additional Resources
Nossa comunidade é ativa e sempre acolhedora para novas ideias.