inflearn logo
강의

講義

知識共有

初めて出会うReact

styled-components 질문

1486

mine702

投稿した質問数 4

0

& > * {
        :not(:last-child) {
            margin-bottom: 16px;
        }
  }
 
이게 무슨 의미인지 알고싶습니다
 
*가 전체를 말하는건 알겠는데 &> 앞에 붙은 이것을
모르겠습니다

styled-components javascript react HTML/CSS

回答 2

3

isa

& 는 해당 태그 본인 자체를 뜻합니다.

즉 tag > * 에 해당 스타일을 적용하라는 의미에요.

>는 그냥 평범한 css 선택자중 하나로 자식결합 선택자입니다.

1

soaple

안녕하세요, mine702님.

위에 류윤종님께서 잘 답변해주셨네요~

 

위 코드에서 '>'는 child selector를 의미합니다.

child selector는 어떤 부모 element의 자식 element에 스타일을 적용하고 싶을 때 아래와 같이 사용합니다.

parent element > child element {

}

 

위 코드에서는 아래와 같이 사용했는데,

& > * {

}

여기서 '&'는 Sass에서 제공하는 parent selector를 의미합니다(아래 링크 참조).

parent selector는 말 그대로 부모 자신을 선택하기 위한 selector입니다.

https://sass-lang.com/documentation/style-rules/parent-selector

 

그리고 우리가 실습에 사용한 styled-components는 stylis라는 preprocessor를 사용하는데,

stylis가 스타일 중첩을 위해서 Sass(SCSS)와 유사한 형태의 문법을 지원합니다(아래 링크 참조).

https://styled-components.com/docs/basics#pseudoelements-pseudoselectors-and-nesting

 

 

그리고 이미 알고계신 것처럼 '*'는 모든 element를 선택하기 위한 universal selector입니다.

https://developer.mozilla.org/en-US/docs/Web/CSS/Universal_selectors

 

그래서 결론적으로 styled-components에서 '& > *' 라는 selector는,

해당 부모 element의 모든 자식들에게 스타일을 적용하기 위한 selector라고 보시면 됩니다.

그리고 그 안에서 다시 ':not(:last-child)'라는 selector를 이용해서 마지막 자식이 아닌 element에만 스타일을 적용하도록 한 것입니다.

강의가 삭제되었다고 합니다

0

106

1

이거 왜 존재하지 않는다고 뜨는건가요

0

133

1

존재하지 않는 수업이라고 떠요

0

183

1

안드로이드 에뮬레이터 오류

0

100

1

교재 구입해서 강의 들으려고 하는데 커리큘럼이 없어졌어요.

0

125

1

prevIsConfiromed 질문

1

141

2

chapter14 잘이해가 되지않습니다..

1

135

2

2025년 3월 리액트버전

1

201

2

npm 설치 오류

1

174

1

chapter_07 콘솔로그 질문드려요~!

1

127

2

안녕하세요 미니블로그 실습 질문드립니다.

1

178

3

에러가 떠요

1

218

3

Chapter6 질문 드립니다

1

209

2

실습 코드 있을까요?

1

205

2

상태가 업데이트될때 컴포넌트 최상단의 console.log 코드가 두번 실행되는 이유가 궁금합니다.

1

233

2

npx create-react-app my-app 명령어 입력이 잘못된 것 같습니다

0

308

3

이름과 코멘트 줄바꿈이 안 됩니다.

0

140

1

버튼이 안 뜹니다

0

303

2

npx create-react-app my-app

1

470

2

jsx 코드 작성해보기에서 index.js 수정 후 에러 뜹니다.

1

375

3

Chapter_05 터미널, 리액트 에러

0

193

2

npx create-react-app my-app 명령어 반응없음

1

432

3

import 코드 에러

1

214

1

백틱

1

121

1