안녕하세요

[Chat GPT야] SCSS 좀 물어볼게 (mixin 사용법, import 방법) 본문

Chat GPT야 도와줘

[Chat GPT야] SCSS 좀 물어볼게 (mixin 사용법, import 방법)

sakuraop 2023. 2. 17. 19:01

1. scss mixin 사용하는 방법을 알려 줘

SCSS는 믹스인(mixin) 기능을 제공하여 반복되는 코드를 간편하게 재사용할 수 있습니다.
믹스인을 사용하는 방법은 다음과 같습니다.

믹스인 선언하기

  1. 먼저 믹스인을 선언합니다.
  2. 믹스인은 @mixin 키워드를 사용하여 정의할 수 있습니다.
  3. 믹스인 이름과 함께, 매개 변수(parameter)를 정의할 수 있습니다.
  4. 믹스인 내에서는 이 매개 변수를 사용할 수 있습니다.
mixin my-mixin($color) { 
    background-color: $color; 
    color: white; 
    padding: 10px; 
}

 

믹스인 사용하기

  1. 미리 선언한 믹스인을 사용하기 위해서는 @include 키워드를 사용합니다.
  2. 이때 매개 변수에 값을 전달해줍니다.
.my-class { 
    @include my-mixin(blue); 
}

위의 예제에서는 .my-class 클래스에 my-mixin 믹스인을 적용하고, 매개 변수 $color에 blue 값을 전달합니다.
따라서 .my-class는 background-color: blue, color: white, padding: 10px의 스타일을 가지게 됩니다.

 

또한, 믹스인을 사용할 때 매개 변수의 기본값(default value)을 지정할 수도 있습니다.

@mixin my-mixin($color: red) { 
    background-color: $color; 
    color: white; 
    padding: 10px; 
} 

.my-class { 
    @include my-mixin; 
}

위의 예제에서는 매개 변수 $color에 기본값으로 red를 지정하고 있습니다.
이 경우, .my-class 클래스에서 매개 변수를 지정하지 않았으므로 $color는 기본값인 red를 사용하게 됩니다.
이와 같이 SCSS 믹스인을 사용하면, 반복되는 코드를 효율적으로 관리하고 유지보수할 수 있습니다.


 

2. scss에서 파일을 import 하려면 어떻게 해?

SCSS에서 파일을 import하는 방법은 다음과 같습니다.

(1) @import 키워드 사용

@import 키워드를 사용하여 SCSS 파일을 다른 SCSS 파일에 import할 수 있습니다.
이때, 파일 경로는 현재 파일의 위치를 기준으로 지정됩니다.

예를 들어, styles.scss 파일에서 buttons.scss 파일을 import하려면 다음과 같이 작성합니다.

@import "buttons";

 

위와 같이 파일 이름만 작성하면 .scss 확장자를 생략할 수 있습니다.

또한, 파일 경로가 다른 폴더에 있는 경우에는 경로를 지정할 수 있습니다.

@import "../components/buttons";

 

(2) 다중 파일 import 여러 개의 SCSS 파일을 한꺼번에 import할 수도 있습니다.

이때, 파일 경로와 파일 이름을 쉼표로 구분하여 나열합니다.

@import "reset", "variables", "buttons";

위와 같이 쉼표로 구분하여 파일 이름을 작성하면,
reset.scss, variables.scss, buttons.scss 파일을 한꺼번에 import할 수 있습니다.

 

(3) partial 파일

SCSS에서는 _ (언더바)로 시작하는 파일을 partial 파일이라고 합니다.

partial 파일은 파일 이름 앞에 _를 붙여 작성합니다.

partial 파일은 다른 SCSS 파일에서 import할 수 있지만, 컴파일러가 직접 CSS 파일로 컴파일하지는 않습니다.

 

예를 들어, _buttons.scss 파일을 partial 파일로 작성하면 다음과 같습니다.

// _buttons.scss 파일 

.button { 
    background-color: blue; 
    color: white;
    padding: 10px;
}

그리고, styles.scss에서 _buttons.scss 파일을 import할 수 있습니다.

// styles.scss 파일 

@import "buttons";

이렇게 SCSS에서 파일을 import하여 코드를 모듈화하면, 코드를 관리하고 유지보수하는 것이 용이해집니다.