whatisthis?

CSS - 미디어쿼리 (Media Query) 본문

WEB STUDY/HTML,CSS

CSS - 미디어쿼리 (Media Query)

thisisyjin 2022. 2. 26. 12:04

미디어쿼리 (Media Query)

 

- 반응형 웹(Responsive Web) 을 만들기 위해 반드시 알아야함.

 

 

🔻 반응형 웹을 위한 충족조건

HTML viewport meta
CSS media query

 

 

[HTML] viewport meta

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

모바일에서와 pc에서의 viewport가 다르다.

meta태그로 width=device-width (너비를 디바이스 너비로 설정함)

을 선언해야 반응형 웹이 정상적으로 작동 가능.

 

 

 

[CSS] media query

@media screen and (min-width: 768px) {
   /* 변경사항 * /
}

atRule을 사용해야함. (at media)

최소 가로가 768px 일때 /* 변경사항 */ 이 적용되게 해줌.

>> 즉, 768 이상일때 적용됨.

 

❗ min, max만 보고 헷갈릴 수 있는데,

768 미만일땐 max-width: 768px로 해야함!

 

 

 

 

* vh / vw 단위 (viewport height / viewport width)

 

100vh = 뷰포트의 100%만큼

100vw는 잘 사용 안함. (주로 100%로 작성)

 

 

 

예제

 

Tablet

LandScape phone (가로화면 폰)

Mobile 구분

 

 

( 예전에 js에서 window.innerWidth 로도 만든적 있었다!)

https://mywebproject.tistory.com/148?category=897812 (private)

window.innerWidth

// 이벤트 리스너 (window의 resize 이벤트)
window.addEventListener("resize", handleResize);

 

* {
  box-sizing: border-box;
  margin: 0;
}

body {
  font-size: 40px;
}

.box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background-color: #ff5216;
  color: white;
}

.box::after {
  content: "Mobile";
}

@media screen and (min-width: 576px) {
  .box {
    background-color: #ffdc16;
  }
  .box::after {
    content: "LandScape Phone";
  }
}

@media screen and (min-width: 768px) {
  .box {
    background-color: #167fff;
  }
  .box::after {
    content: "Tablet";
  }
}

 

 

 

 

 

 

결과

 

 

 

 

 

 

 

 

몇개 더 추가함.

 

 

 

 

+)

 

 

@media screen and (min-width: 768px) and (max-width: 991px) {
  .box {
    background-color: #7cb3f7;
  }
  .box::after {
    content: "이렇게도 가능해";
  }
}

이렇게 min과 max 너비값을 둘다 주고, and 해줄수도 있다!

 

 


ref lecture.

 

 

'WEB STUDY > HTML,CSS' 카테고리의 다른 글

CSS - Typography (+추가)  (0) 2022.02.26
CSS - Typography  (0) 2022.02.26
css. CSS At-rules(At-규칙) 총정리  (0) 2022.02.22
css. FlexBox (display: flex) - (下)  (0) 2022.02.22
css. FlexBox (display: flex) - (上)  (0) 2022.02.22