SASS e Compass – Diferenças entre mixins @include e @extends

logo 235e394c - SASS e Compass - Diferenças entre mixins @include e @extends

logo 235e394c - SASS e Compass - Diferenças entre mixins @include e @extends

Recentemente nos meus estudos sobre Sass e Compass surgiu uma dúvida básica, porém importante sobre a diferença entre os instrumentos lógicos do Sass @mixin e @extend. Cada um deles é utilizado para um caso específico e abaixo segue exemplos de uso para cada um deles.

@mixin

A importação de um mixin funciona basicamente assim, você defini um nome para esse mixin que também pode ser considerado uma função do Sass. O Mixin não é renderizado dentro de arquivos .css, você só consegue utilizá-lo se o importar para dentro de uma classe existente.

Check out this Pen!

A saída desse código seria:

Check out this Pen!

Para tornar nosso mixin mais interessante, vamos defini-lo para aceitar parâmetros, e o mais legal é que podemos definir valores padrões para esses parâmetros. Com valores padrões pré-definidos, quando você chamar o mixin você O código ficaria da seguinte forma:

Check out this Pen!

O resultado desse código seria:

Check out this Pen!

Segue outro exemplo interessante utilizando o mixin para criar uma função que ira gerar o css das famosas bordas arredondadas do Css3, e nessa função vamos fazer com que o valor da borda seja dinâmico, isso é, enviado via parâmetro. Ficaria basicamente assim:

Check out this Pen!

Resultando em:

Check out this Pen!

@extend

Já o @extend é utilizado quando queremos estender uma classe para outra. Seu uso é diferente do mixin, neste as classes não são compiladas para o .css, já no @extend, você estende algo que já existe e é compilável. Para melhor explicar a utilização do @extend análise o código abaixo:

Check out this Pen!

Compilando o código temos o seguinte resultado:

Check out this Pen!

Conclusão:

Com a utilização do @extend você não pode passar parâmetros, pois com o @extend você compartilhar as propriedades de uma classe com outra, já com o mixin você não só compartilhar como também interage com as propriedades utilizando os parâmetros.

Uma dica legal para quem quer testar a saída dos códigos scss é o site SassMeister.

Compartilhar artigo:
Share on facebook
Share on twitter
Share on pinterest

Deseja receber conteúdo exclusivo?

Cadastre seu e-mail ao lado e faça parte da nossa lista VIP recebendo todas as novidades com prioridade!

Sobre a autora

Slide 3

Migrando sua app para a nuvem da AWS - PRO

Usando o método Turbo Migration, em apenas 2 semanas ou menos você conseguirá levar a sua aplicação local ou de uma VPS para a AWS com segurança e objetividade.

Slide 2

Curso AWS Grátis

Aprenda a publicar seu site na AWS de forma gratuíta por 12 meses, economize com hospedagem e deixe seu site no melhor hosting do mundo.

Slide 1

Modelos de Documentos

Lista de modelos de documentos como contratos, briefings e muito mais, totalmente grátis.

Slide 1

E-books sobre Python

Lista de e-books disponível para download de forma gratuita.