인프런 커뮤니티 질문&답변

cyj님의 프로필 이미지
cyj

작성한 질문수

SCSS(SASS)+GRID+FLEX 실전 포트폴리오 퍼블리싱

&에 대해서 질문드립니다.

해결된 질문

작성

·

325

1

&에 대해 학습하고나서 더 다른 실습을 해보기 위해 예시를 찾던중에 이해가 안되는 부분이 있습니다.

해당 scss인데 이를 컴파일 했을때 결과물이

이렇게 나온다고 예시가 있었으며 이를 실제로 실험해보니 정말로 저렇게 나오더라고요


여기서 질문이

  1. div.section & ->이부분은 li안에서 설정한건데 왜 컴파일했을때 맨앞에 아무것도 없이 바로 div로 나오는지 궁금합니다.

  2. 위 구문 뒤에 &는 바로 li로 불러오는지 알았는데 맨 상위부모클래스인 .list_gnb까지 포함해서 가져오는데요 이는 왜 그런건지요? &는 바로 직전부모클래스로 가져오는게 아닌것인지요

분명 강의 2~3번본건데도 불구하고 저렇게 컴파일된거에 대해 이해가 안되네요 ㅠㅠ

 

답변 1

0

image

html 구조가 어떤지 모르겠지만 부모요소 참조(&)는 앞에 나와야 합니다.

현재의 상태에서 & 는 .list_gnb li 이기 때문에 정상적으로 나온 것이구요.
그런데 & 앞에 있어야 하는데 & 앞에 div.section 이 있으니까 컴파일에서 div.section 가 .list_gnb li 의 자식요소로 생각하지 않고 독립적인 선택자로 생각해서 2)번처럼 컴파일 한 것 같습니다.

&가 되에 있고 div.section가 .list_gnb li 의 자식요소라면 아래처럼 컴파일 될 것입니다.

.list_gnb li div.section .list_gnb li

이상해지죠? 그러니까 부모 요소 참조하는 & 항상 앞에 써주세요.

서두에도 말했지만 html 구조 없이 scss와 css만 보고 판단해보면 이렇습니다.

cyj님의 프로필 이미지
cyj

작성한 질문수

질문하기