Um dos meus aspectos favoritos do Compass e do SASS é a inteligência adicional que você pode adicionar às suas folhas de estilo. Você pode entrar em algumas travessuras orientadas a objetos bastante impressionantes, especialmente com dados dimensionais. Aqui está um exemplo:
Você pode ver uma versão ao vivo na caneta de código .
Também há mais diversão Compass e SASS aqui .
Vamos começar definindo alguns caras
$michael: Michael, Designer, #dcd782, 'michael.jpg';
$nathan: Nathan, Designer, #59c5c7, 'nathan.jpg';
$zach: Zach, Developer, #e76e7f, 'zach.jpg';
Vamos colocar esses caras em uma lista para mantê-los seguros
$myList: $michael, $nathan, $zach;
Vamos definir nosso proto-cara
%proto-dude{
display:block;
height: 100px;
@include border-radius(100px);
background: #ccc;
color: white;
text-indent: 100px;
position: relative;
line-height: 100px;
&:after{
content:'';
display: block;
height: 80px;
width: 80px;
@include background-size(contain !important);
@include border-radius(80px);
position: absolute;
top:10px;
left: 10px;
}
}
Vamos criar um mixin para analisar as informações
@mixin define-dude($dude){
@extend %proto-dude;
background: nth($dude,3);
&:before{
content: "" + nth($dude,1) + ', ' + nth($dude,2) + "";
}
&:after{
background: url('http://sandbox.lazy-robot.com/sass-family-fun/img/'+ nth($dude,4));
}
}
Agora tudo o que precisamos fazer é percorrer nossa lista
$counter: 1;
@each $guy in $myList{
.dude-#{$counter}{
@include define-dude($guy);
}
$counter: $counter + 1;
}
Aqui está o que você vai fazer .
Também há mais diversão Compass e SASS aqui .