Sass 첫 경험! CSS를 더 가독성 있게, 반복되는 작업들을 줄여줄 수 있도록 효율성을 올리기 위해 사용한다고 한다.
그 중 배웠던 기능 한가지를 정리한다.
변수에 여러가지 색깔 넣어주기
1
2
3
4
|
$colors: (
primary: #005dff,
accent: #fff6bb,
);
|
cs |
$colors라는 변수명 안에 두가지 컬러를 용도에 따라 지정해 주었다.
여기서는 내가 만드는 웹페이지에 주로 사용할 primary와 강조하는 요소에 사용할 accent색깔을 넣어주었는데,
당연히 버튼에 사용할 색, 배너에 사용할 색 등 원하는대로 지정이 다 가능하다!
1
2
3
4
|
.background {
background-color: map-get($colors, primary);
}
|
cs |
그리고 그 색을 사용하기 위해서는 원하는 선택자와 property를 지정하고 map-get($map 이름, key값)을 불러와줘야 한다.
function과 return 사용해보기
그런데 보다시피 편하자고 사용하는 Sass에서 map-get($map 이름, key값) 이라는 긴 값을 넣고있는건 비효율적이다.
그래서 funtion과 return을 사용해 이 색깔 불러오는 일을 효율적으로 만들어보자.
1
2
3
4
|
@function color($color-name) {
@return map-get($colors, $color-name);
}
|
cs |
내가 color($color-name) 기능을 쓰면, 그걸 map-get($colors, $color-name) 으로 바꿔줘 !
여기서 $colors는 바로 위 보이는 것 처럼 우리가 여러 색을 넣어주었던 map이고,
그 안에 내가 $color-name으로 이름붙인 여러 키값 중 하나를 불러와주면 키값에 맞는 색깔이 불러와진다.
백번 말로 설명하면 어려우니 직접 해보자.
1
2
3
|
.background {
background-color: color(primary);
}
|
cs |
아래와 같이 기존의 map-get 구문 대신에
우리가 지정한 기능인 color(primary)를 사용해주었고
변수명은 당연히 짓기 나름이니 한번 변경해서 적용해보았다.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
$colors: (
primary: #005dff,
accent: #fff6bb,
);
@function chooseone($name) {
@return map-get($colors, $name);
}
.background {
background-color: chooseone(primary);
}
|
cs |
여전히 잘 적용된다.
사실 이 기능들은 말로만 들어서는 아리까리하고 계속적으로 반복해서 익숙하게 만드는 편이 낫다는 결론이다.
내가 아직 자바스크립트를 시작하지 않아서 변수를 사용하는 기능에 문외한이라 더 그런 듯 하다!
'Front-End Developer > CSS' 카테고리의 다른 글
빔캠프 종찬님 특강 - .wrapper는 어디에 쓰는고? (0) | 2022.04.29 |
---|---|
가지고 놀면서 배우는 position: absolute; (3) | 2022.04.25 |
헷갈리는 CSS Combinators - 형제선택자 편 (0) | 2022.04.21 |
background-image에 no-repeat이 안되요 - 초심자의 깜찍한 실수 (0) | 2022.04.19 |
항상 헷갈리는 text-align, 딱 두 가지만 기억하자 (4) | 2022.04.19 |