공부한다/sass
@each
스더찡
2020. 12. 29. 19:17
코드를 여러줄 작성할 필요 없이 변수값을 받아서 스타일을 꾸밀 수 있다.
엄청 간단하고만요😀
@each
<div class="font-13px">
ABCDEFG
</div>
<div class="font-20px">
ABCDEFG
</div>
<div class="font-50px">
ABCDEFG
</div>
$sizes: 13px, 20px, 50px;
@each $size in $sizes {
.font-#{$size} {
font-size: $size;
}
}
변수값과 클래스명의 일부를 같게 지정해줘야해서 보기에 좋지 않다고 생각했는데...
key,value를 이용해서 사용하는 방법이 있다! 두두둥😗 그것은 아래의 map활용을 봅시다
map을 활용한 @each
이전 예제의 코드를 이런식으로 변경 가능!
<div class="font-13">
ABCDEFG
</div>
<div class="font-20">
ABCDEFG
</div>
<div class="font-50">
ABCDEFG
</div>
$sizes: (13:13px, 20:20px, 50:50px);
@each $key, $size in $sizes {
.font-#{$key} {
font-size: $size;
}
}
Destructuring
동일한 css 프로퍼티를 받아올 경우 사용하기에 아주 좋겠습니다
값만 대입해주니 소스가 매우 간략해지는군요😀
<div class="box-1">ABCDEFG</div>
<div class="box-2">ABCDEFG</div>
<div class="box-3">ABCDEFG</div>
$boxes: 1 #000 #fff 100px,
2 #808080 #111 200px,
3 red #fff 300px;
@each $name, $boxColor, $textcolor, $height in $boxes {
.box-#{$name} {
background-color: $boxColor;
width: 300px;
float: left;
color: $textcolor;
height: $height;
}
}
오늘의 sass 공부 마무으리