Mixin
Function과 같은 기능을 하는 Mixin
- Sass에서 Mixin을 사용하면 마치 Function처럼 여러 스타일을 묶어서 적용 시킬 수 있다.
- 또한 매개변수를 받아서 스타일을 조금씩 수정해서 적용시킬 수 있다.
사용 방법
1
2
3
4
5
6
7
8
9
10
11
@mixin banner-style($color: black) {
color: $color;
.banner-close {
background-color: gray;
}
}
button {
@include banner-style(red);
}
- 선언할 때는
@mixin
을 사용해서 선언 - 사용할 때는
@include 이름(매개변수)
로 사용하고 매개변수가 없을 경우 괄호 생략 가능 :
을 사용해서 매개변수의 기본값을 설정할 수 있음type-of
메서드를 사용하면 유효성 검사도 가능1 2 3
@if (type-of($color) == color) { color: $color; }
- 위 예제는
$color
가 컬러 값이 맞는 경우 출력하는 IF문
- 위 예제는
’%’와 ‘extend’
Mixin과 비슷하지만 전달인자가 없을 때는 %
- Mixin과 비슷하게 함수처럼 사용 가능
- Mixin과 차이라면 css로 컴파일될 때 비슷한 것들은 알아서 묶어서 써 줌
- 그리고 사용 방법도 조금 다름
사용 방법
1
2
3
4
5
6
7
%btn-style-18 {
width: 180px;
}
.portal-btn {
@extend %btn-style-18;
}
%이름{}
형태로 선언@extend %이름
으로 불러올 수 있음
Reference
- https://edu.goorm.io/lecture/25681/김버그의-ui-개발-부트캠프-경력같은-신입으로-레벨업
- https://sass-lang.com/documentation/at-rules/mixin
- https://sass-lang.com/documentation/at-rules/extend