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

펩시제로라임향님의 프로필 이미지
펩시제로라임향

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

포트폴리오 리뷰 - 폴더구조 및 emotion 적용

[CSS-in-js] Emotion styled components 관련 질문입니다.

해결된 질문

작성

·

479

0

const Wrapper = styled.div`
@media (max-width: 767px) {
  width: 760px;
  & > div {
    width: 700px;
  }
};
width: 1200px;
padding: 30px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
margin: 0 auto;
& > div {
  width: 1000px;
}
`

1) 위의 내용과 같이 CSS-in-js 코드 작성하고 화면 너비를 767px 이하로 조정하였음에도 Wrapper 자손 div 선택자들의 너비가 width: 700px로 조정되지 않습니다. 아래 그림과 같이 @mobile 밖의 코드인 1000px로 계속 강제적용이 되는것으로 보입니다. 왜 이런 것인지 알 수 있을까요?

스크린샷 2023-04-03 오후 9.33.12.png

2) 논외로 위의 코드와 같이 & > div 를 이용하여 자손 div 태그들에 너비를 정해준 후, 따로 const 이용하여 자손 div 중 하나를 상수 지정하여 너비를 설정해주면, Wrapper에서 &>div를 이용해서 지정한 너비로 또 계속 강제적용되는 것으로 보입니다. & > div가 가장 우선적인 설정인가요?

 

답변 부탁드리겠습니다ㅠ

 

답변 1

0

안녕하세요 펩시제로라임향님
미디어 쿼리가 정의된 부분이 맨앞에 있기 때문에 뒤에 나오는 width:1000px 코드로 덮어 씌워 지고있습니다
따라서 미디어 쿼리를 마지막 부분에 위치시키면 해결됩니다
네 맞습니다 해당 스타일은 다른스타일 보다 우선 적용 됩니다

펩시제로라임향님의 프로필 이미지
펩시제로라임향

작성한 질문수

질문하기