어쩌다 알게 된 ƪ(•̃͡•̃͡ ƪ

[Bootstrap] $self: &; 중첩 구조에서의 사용 #{$self} 본문

CSS/Bootstrap

[Bootstrap] $self: &; 중첩 구조에서의 사용 #{$self}

비니_ 2025. 4. 8. 19:36
728x90

앞에서 봤을 땐 mixin 문법에서 사용하기 위해 $self: &를 사용한다고 했는데, 

여기서도 사용하고 있어서 봤더니

중첩 구조라서 확실하게 가져오기 위해 사용한다고 한다.

 

원본 SCSS

.navigation {
  $self: &; // → '.navigation'

  &-menu {
    #{ $self } {
      // 여긴 '.navigation-menu .navigation'이 됨
    }

    #{ $self }-link-extra {
      // 여긴 '.navigation-menu .navigation-link-extra'가 됨
    }
  }
}

 

컴파일 된 CSS

.navigation-menu .navigation {
  /* ... */
}

.navigation-menu .navigation-link-extra {
  /* ... */
}

 

  👩🏻  

=> 즉, 내가 이해하기로는 js 처럼 변수명을 할당해서 똑같은 글자를 줄이는 것

=> 위코드에서 봤을 땐 &-menu 안에서 &를 쓰면 .navigation-memu를 가져오기 때문에 .navigation을 가져오기 위해

#{ $self  }를 사용!

 

장점: 클래스명 변경시 한번에 변경 가능~

 

 

 

📌 #{ } 란?

=> SCSS에서 #{}는 문자열 안에서 변수 값을 넣을 때 사용하는 문자열 인터폴레이션(string interpolation) 방식

 

예시)

$color-name: "info";

.btn-#{$color-name} {
  color: blue;
}

👇👇👇 컴파일 된 css 👇👇👇

.btn-info {
  color: blue;
}

 

 

👩🏻 문법이니 #{ } 안에 넣어야 인식한다고 생각하면 될 듯 

728x90
Comments