O princípio de “Não Repita a Si Mesmo” (DRY) é uma abordagem fundamental em programação que enfatiza a reutilização de código para evitar redundância e promover a eficiência e a manutenibilidade do código. Quando se trata de estilos em cascata (CSS), uma maneira de aplicar esse princípio é através do uso de funções e mixins em pré-processadores como o Sass.
Sass é uma linguagem de folha de estilo que estende o CSS com funcionalidades como variáveis, aninhamento de regras, mixins e muito mais. Ao escrever funções e mixins em Sass, podemos encapsular lógicas comuns e estilos repetitivos, permitindo sua reutilização em todo o projeto.
Um exemplo comum de reutilização de funções e mixins em Sass é a criação de mixins para lidar com propriedades CSS que requerem prefixos de fornecedores para compatibilidade com navegadores. Em vez de repetir os mesmos prefixos em várias regras CSS, podemos definir um mixin que gera automaticamente os prefixos necessários com base nos argumentos fornecidos.
Por exemplo, vamos considerar a seguinte função Sass que cria um mixin para propriedades de transição com prefixos de fornecedores:
scss@mixin prefix-transitions($properties, $duration) {
-webkit-transition: #{$properties} $duration;
-moz-transition: #{$properties} $duration;
-o-transition: #{$properties} $duration;
transition: #{$properties} $duration;
}
Esta função pode ser utilizada em várias regras CSS para aplicar transições com prefixos de fornecedores, evitando a repetição de código e seguindo o princípio DRY. Por exemplo:
scss.button {
@include prefix-transitions(all, 0.3s);
}
Este mixin irá gerar automaticamente as propriedades de transição com os prefixos apropriados para compatibilidade com diferentes navegadores, economizando tempo e tornando o código mais limpo e legível.
Além disso, podemos aplicar o princípio DRY ao agrupar estilos semelhantes em mixins que podem ser facilmente chamados em várias partes do código. Por exemplo, podemos ter um mixin para estilos de botão comuns que inclui propriedades como cor de fundo, cor do texto, borda e espaçamento, como este:
scss@mixin button-styles($bg-color, $text-color, $border-color, $padding) {
background-color: $bg-color;
color: $text-color;
border: 1px solid $border-color;
padding: $padding;
cursor: pointer;
&:hover {
background-color: darken($bg-color, 10%);
}
}
Este mixin pode ser facilmente aplicado a qualquer elemento de botão no código, fornecendo um conjunto consistente de estilos de botão em todo o projeto e evitando a necessidade de repetir manualmente esses estilos em cada regra CSS.
Em resumo, ao escrever funções e mixins em Sass, podemos aplicar o princípio DRY para evitar a repetição de código, promover a reutilização de estilos e melhorar a manutenibilidade do código CSS. Isso nos permite criar folhas de estilo mais eficientes, consistentes e fáceis de manter em projetos web.
“Mais Informações”

Além de funções e mixins para lidar com propriedades CSS específicas, o Sass oferece uma variedade de recursos para aplicar o princípio DRY em estilos em cascata. Vamos explorar alguns desses recursos em mais detalhes:
- Variáveis: As variáveis em Sass permitem definir valores que podem ser reutilizados em todo o arquivo de estilo. Isso é útil para valores que são usados repetidamente, como cores, tamanhos de fonte e espaçamentos. Ao definir uma variável, podemos atualizar facilmente o valor em um único lugar, em vez de procurar e alterar todas as instâncias desse valor no código.
scss$primary-color: #007bff;
$font-size: 16px;
.element {
color: $primary-color;
font-size: $font-size;
}
- Aninhamento de Regras: O Sass permite aninhar regras CSS dentro de outras regras, o que pode ajudar a organizar e visualizar a estrutura do código. No entanto, é importante evitar o aninhamento excessivo, pois isso pode levar a seletividade excessiva e complexidade desnecessária no código CSS resultante.
scss.container {
width: 100%;
.header {
background-color: $primary-color;
color: white;
}
.content {
padding: 20px;
}
}
- Extends: O recurso
@extenddo Sass permite compartilhar estilos entre várias regras CSS. Isso é útil para evitar a repetição de estilos semelhantes em várias classes, garantindo consistência e facilitando a manutenção.
scss%button-base {
padding: 10px 20px;
border-radius: 5px;
}
.button {
@extend %button-base;
background-color: $primary-color;
color: white;
}
.secondary-button {
@extend %button-base;
background-color: $secondary-color;
color: black;
}
- Importação de Parciais: O Sass permite dividir estilos em vários arquivos e importá-los conforme necessário. Isso é útil para organizar o código em componentes ou seções lógicas, tornando mais fácil encontrar e manter estilos relacionados.
scss// _variables.scss
$primary-color: #007bff;
$secondary-color: #6c757d;
// main.scss
@import 'variables';
.element {
background-color: $primary-color;
}
Ao aplicar esses recursos, podemos criar estilos mais eficientes e fáceis de manter em projetos Sass. A reutilização de código através de funções, mixins, variáveis e outros recursos do Sass não só promove a consistência visual, mas também reduz a quantidade de código redundante e simplifica a manutenção a longo prazo. Ao seguir o princípio DRY em estilos em cascata, podemos melhorar significativamente a qualidade e a escalabilidade do código CSS em nossos projetos web.

