본문 바로가기
frontend/CSS

사라지고 나타나고~ : 미디어쿼리

by Mr.코딩 2023. 7. 24.

뷰포트가 800px 이하일 때, ad-area, header, main, footer가 다 사라지고 article만 남게 하려면?

 

chatGTP

이렇게 작성하세요.

/* 뷰포트의 가로 너비가 800픽셀 이상일 때 .ad-area 요소를 보이게 하고,
   800픽셀 이하일 때 .header, main, footer를 숨깁니다. */
@media (max-width: 800px) {
  .ad-area {
    display: none;
  }
  .header,
  .main,
  .footer {
    display: none;
  }
}

왜 이렇게 안 쓰지?

@media (max-width: 800px) {
  .ad-area,

  .header,

  .main,

  .footer {
    display: none;
  }

 

chatGTP

예, 그렇게 쓰면 됩니다.

 

헐.........


미디어 쿼리  문법을 분해해서 설명해줘.

 

chatGTP

 

물론, 좋은 질문입니다! 영어 문장을 어구나 구절별로 설명해드리겠습니다.

1. @media:
   - '@' 기호는 미디어 쿼리를 시작하는 특별한 기호입니다.
   - 'media'는 미디어 쿼리가 적용될 미디어 유형(예: 화면, 프린터 등)을 지정하는 키워드입니다.
   - 즉, @media는 뷰포트의 크기나 미디어 유형에 따라 다른 스타일을 적용할 수 있도록 해주는 구문의 시작을 나타냅니다.

 

2. (max-width: 800px):
   - 괄호 ()는 미디어 쿼리에서 사용되는 조건을 감싸주는 역할을 합니다.
   - 'max-width'는 뷰포트의 가로 크기를 의미합니다. 이것은 뷰포트의 최대 가로 크기를 기준으로 스타일을 적용하는 방식입니다.
   - '800px'은 최대 가로 크기를 나타내는 값으로, 뷰포트의 가로 크기가 800px 이하일 때 이 미디어 쿼리가 적용됩니다.

3. .some-element, .another-element, #example-element:
   - '.' 기호는 CSS에서 클래스를 선택하는 선택자를 나타냅니다.
   - '#' 기호는 CSS에서 아이디를 선택하는 선택자를 나타냅니다.
   - 'some-element', 'another-element', 'example-element'는 해당 클래스와 아이디의 이름입니다.
   - 즉, .some-element는 클래스 이름이 'some-element'인 요소를 선택하고, #example-element는 아이디 이름이 'example-element'인 요소를 선택합니다.

4. display: none;
   - 'display: none;'은 해당 요소를 화면에 보이지 않게 하라는 스타일을 의미합니다.
   - 이 스타일을 적용하면 선택한 요소가 화면에 보이지 않으며, 레이아웃에도 차지하지 않습니다. 즉, 해당 요소가 완전히 사라진 것처럼 행동하게 됩니다.

종합하면, 미디어 쿼리는 뷰포트의 크기나 미디어 유형에 따라 다른 스타일을 적용하는 것을 가능하게 해주는 특별한 구문이며, 해당 스타일은 클래스나 아이디를 선택하여 적용하게 됩니다. 'display: none;'은 해당 요소를 화면에서 숨기는 역할을 합니다.

이제 미디어 쿼리에 대한 이해가 더 높아졌기를 바라며, 더 궁금한 점이 있으면 언제든지 물어보세요!

'frontend > CSS' 카테고리의 다른 글

flexbox, flex-grow  (0) 2023.07.25
위>오>아>왼 : feat. 12시 기준으로 시계방향  (0) 2023.07.25
Flexbox : CSS Grid  (0) 2023.07.25
padding과 margin의 차이  (0) 2023.07.25
세로 블록들을 가로로 배치하는 방법  (0) 2023.07.23
`div`로 요소를 감싸는 것은  (0) 2023.07.23
vw와 vh의 차이는?  (0) 2023.07.23
섹션 사이의 간격을 만드는 방법  (0) 2023.07.23