[용어정리] Part3 CSS | 반응형디자인&미디어쿼리
Front-end 로드맵 따라하기
(요약) 키워드로 알아보기
✨반응형 디자인이란?- 반응형 웹 디자인은 HTML과 CSS만 사용한다 즉, 프로그램이나 JavaScript가 아니다
internetingishard 사이트는 꼭꼭! 읽어봤으면좋겠다.
- 웹사이트가 와이드스크린 모니터에서 휴대폰에 이르기까지모든 환경에서 똑같이 잘 표시되어야 한다.
- 반응형 디자인은 CSS "미디어 쿼리"를 통해 수행된다.
✨미디어 쿼리란?
- 반응형 웹을 만들기 위한 CSS선언 중 하나이다.
- CSS 규칙을 조건부로 적용하는 방법으로 미디어 쿼리를 생각하자.
- 사용자의 기기에 따라 특정 규칙을 무시하거나 적용해야 한다고 브라우저에 알려준다
더 알아보기
CONTENT IS LIKE WATER
- 웹사이트를 만들 때, 콘텐츠를 물과 같이 만들어라 -
You put water into a cup it becomes the cup.
You put water into a bottle it becomes the bottle.
You put water into a teapot, it becomes the teapot.
즉, 콘텐츠는 담기는 컨테이너에 따라서 콘텐츠가 유동적으로 변화해서
그 컨테이너에 맞게 내용들이 잘 보여질 수 있도록 디자인해야된다는 말이다.
따라서 이것을 우리는 Responsive Design(반응형 디자인)이라고한다.
- 유동적인 Layout을 구현하기위해, (예전) float같은 것 & 고정된 px값을 사용하지 않는다.
- Flex grid, Flex box,%, vw, vh 이와같은 속성값을 이용하여 사이즈를 많이 구성한다.
그럼, 웹반응형을 구현할 때 어느 시점(포인트 지점)에서 레이아웃 재배치를 해야 될까?
웹사이트를 만들때,
어디서부터~ 까지 데스크탑사이즈로 보여주고,
어디서부터~ 까지 테블릿으로 보여주며 ,
어디서부터~ 까지 모바일형태로 보여줄껀지를 감안해서 웹사이트를 만들어야한다.
그런데, 예전에는 이런 사이즈가 조금 더 명확하게 정해져 있었지만, 최근에는 확실히 구분짓는 브레이크포인트(breakpoint)가 정해져있지 않다. 하지만,굳이! 나누자면?
모바일은 320px~480
테블릿은 768px~1024px
1024~ 부터는 데스크탑 사이즈로 간주해서 디자인하면 무난하다.
이제, 반응형 웹을 어떻게 만들어지는지 본격적으로 만들어 보도록하자.
❗ 반응형 웹을 만들기 위해서는 2가지 요건이 충족해야된다.
1) HTML의 viewport meta 태그가 필요하다.
2) CSS의 Media Queries문이 선언이 되어야한다.
사용자가 사용하고있는 브라우저 창의 크기의 화면사이즈
veiwport
반응형을 하기 위해서 <head> ... </head>안에 viewport meta가 선언되어있어야한다.
해석 :
"viewport에 관해서 정보를 줄꺼야. 앞으로 이 웹페이지 width(가로)사이즈를 잡을때는 사용자가 사용하고 있는 device-width(디바이스크기)에 맞춰줘~" 라고 선언을 해야 반응형 웹이 정상적으로 작동된다.
예) 예전 민원24사이트의 홈페이지를 예로 들어보겠다. (현재는 반응형으로 바뀌었다)
(잘 안보이지만) 왼쪽과 같이 핸드폰사이즈로 변경이되도, 크기가 고정되어있는거를 확인 할 수 있는데, iewprot meta 태그가 들어가 있긴하지만, 1270으로 고정이되어있다. 따라서, 여기서 다시 정리를 하자면, 반응형웹을 만들기 위해서는 HTML에다가 viewport 태그를 선언을 하고, content는 반드시width=divice-width라고 적어줘야한다. 그다음! 비로서 css로 미디어쿼리를 선언해야, device사이즈에 반응을 하는 반응형 웹사이트를 만들 수 있다.
이제 본격적으로 css 미디어쿼리를 알아보자 ! 미디어쿼리에서 무엇을 알려줘야할까? 내가 지금 보고있는 화면의 사이즈가 몇px이상일때 혹은 몇 px이하일때는 이 style을 적용해줘~ 라고 선언을해준다.
@media선언을할꺼야, screen에관해 이야기를 할껀데, 최소 브라우저의 가로 사이즈가 768px이상에서는 {이런스타일을 먹여줘 즉, 새로운 css공간이 생긴다고 생각한 후, 변화해야하는 값을 적어준다 } 라고 하는것이 바로, 미디어쿼리 선언이다.
예) 바로 아래 github에서 눈으로 직접해보면서 만들어보자!
https://github.com/luckyjek/TIL_/tree/main/TodayWorld/media-query
GitHub - luckyjek/TIL_: Today I learned / 오늘의 학습 기록소
:bulb: Today I learned / 오늘의 학습 기록소. Contribute to luckyjek/TIL_ development by creating an account on GitHub.
github.com
✨ 반응형 웹을 만들기위한 총정리
1) HTML에 viewport meta 태그 선언
2) CSS의 Media Queries문이 선언
예)media screen and ...
참고:
min-width ~이상
min-max ~이하
간단한 문법 알아보기:
조금더 자세히 어떤 속성값들을 사용할 수 있는지 알아보기 :
mozilla-Using_media_queries
※참고로 대부분은 min-width 혹은 max-width로 충분히 만들 수 있으므로 너무 자세히 살펴보지는 말자.
반응형디자인 참고하면 좋을 사이트 :
https://github.com/
https://klientboost.com/
https://www.magicleap.com/en-us
함께보면 좋은 자료