Korean_hamster
지현의 개발자 성장과정
Korean_hamster
전체 방문자
오늘
어제
  • 분류 전체보기 (122)
    • Front-End Developer (79)
      • Project (12)
      • HTML (8)
      • CSS (17)
      • Computer Science (9)
      • JavaScript (20)
      • React (13)
    • 이런저런 생각 (7)
    • 주간 성장회고 (24)
    • English (0)
    • 리뷰 (2)
    • Books (5)

블로그 메뉴

  • 방명록

공지사항

인기 글

태그

  • js
  • 반응형웹
  • flex
  • 프론트앤드
  • 비전공자개발자
  • 멋쟁이사자처럼
  • HTML
  • 리액트
  • 라우터
  • 프론트앤드스쿨
  • AtomicHabits
  • CS
  • 깃헙
  • CSS
  • 면접관님
  • sass
  • 비전공개발자
  • fetch
  • 깃
  • 멋사

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Korean_hamster

지현의 개발자 성장과정

Sass 연습 - @function 와 @return
Front-End Developer/CSS

Sass 연습 - @function 와 @return

2022. 4. 25. 18:13

 

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);
  }
 
Colored by Color Scripter
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);
}
Colored by Color Scripter
cs

 

내가 color($color-name) 기능을 쓰면, 그걸 map-get($colors, $color-name) 으로 바꿔줘 !

여기서 $colors는 바로 위 보이는 것 처럼 우리가 여러 색을 넣어주었던 map이고,

그 안에 내가 $color-name으로 이름붙인 여러 키값 중 하나를 불러와주면 키값에 맞는 색깔이 불러와진다.

 

 

 

백번 말로 설명하면 어려우니 직접 해보자.

1
2
3
  .background {
    background-color: color(primary);
  }
Colored by Color Scripter
cs

 

아래와 같이 기존의 map-get 구문 대신에

우리가 지정한 기능인 color(primary)를 사용해주었고

이는 @return 되어 맨 처음 사용했던 background-color: map-get($colors, 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);
  }
 
Colored by Color Scripter
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
    Korean_hamster
    Korean_hamster
    Keep pushing myself to the limits

    티스토리툴바