Funções Personalizadas em CSS: Expandindo as Possibilidades
1. Introdução às Funções Personalizadas
As funções personalizadas permitem estender o CSS com lógica própria, criando:
- Cálculos complexos reutilizáveis
- Manipulação avançada de valores
- Lógica condicional em propriedades CSS
2. Sintaxe Básica
@function --minha-funcao($param1, $param2) {
@return calc($param1 * $param2 / 100%);
}
.elemento {
width: --minha-funcao(300px, 50);
}
3. Casos de Uso Comuns
Aplicação | Exemplo |
---|---|
Cálculos responsivos | font-size: --responsive-size(viewport-width); |
Manipulação de cores | background: --contrast-color(#fff); |
Layouts complexos | grid-template: --adaptive-grid(5, 200px); |
4. Comparação: Funções Nativas vs Personalizadas
Característica | Nativas (ex: calc()) | Personalizadas |
---|---|---|
Reutilização | Limitada | Alta |
Complexidade | Estática | Dinâmica |
Manutenção | Direta | Centralizada |
5. Exemplo Prático: Função de Contraste
@function --auto-contrast($base-color) {
@if (lightness($base-color) > 50%) {
@return #000;
} @else {
@return #fff;
}
}
.card {
background: var(--cor-fundo);
color: --auto-contrast(var(--cor-fundo));
}
6. Melhores Práticas
Atenção: Funções complexas podem impactar performance
- Prefira nomes descritivos
- Documente suas funções
- Teste em diferentes navegadores
- Use fallbacks para compatibilidade