Daily Front_Minhhk

반응형 웹 본문

Code개발일지

반응형 웹

Minhhk 2023. 1. 16. 14:05

반응형 웹이란

여러 장치의 다양한 특성에 대응하는 하나의 웹 문서 또는 사이트로써 브라우저의 크기(스크린의 크기, 디바이스의 종류)에 실시간으로 반응하여 크기에 따라 레이아웃이 변하는 웹 사이트를 의미

 

즉, 하나의 소스 코드로 모든 스크린에 최적화된 웹 사이트를 구축할 수 있는 방법론, 디바이스 종류에 따라 웹페이지의 크기가 자동적으로 재조정되는 것

 

장점,

효율적인 유지보수

검색엔진(SEO) 최적화 유리

 

단점,

사이트의 속도 저하

웹브라우저 호환성 문제

 

head에 link태그

<link href="css파일이름.css" media="screen and (min-width: 400px) and (max-width: 1000px)" rel="stylesheet">

 

head에 style 태그

<style type="text/css" media="screen and (min-width: 400px) and (max-width: 1000px)">
	/* css 작성 */
</style>

 

CSS 파일이나 태그 안에서 미디어 쿼리 작성

@media 미디어 타입 (조건(너비 및 높이)) {
    (CSS 입력하는 부분)
}

--예제
@media screen (max-width: 400px) {
    body {
			color: red;
		}
}
  • 미디어타입: all(모든 미디어 타입) / print(프린터) / screen(컴퓨터화면) / speech(스크린리더)
  • 조건: width, min-width, max-width 등 설정
@media screen and (max-width: 400px) {
    body {
        color: blue;
    }
}
  • 방향성: 세로모드인지 가로모드인지 검사해 css 스타일을 주고 싶은 경우
    • orientaion으로 검사
      @media (orientation: landscape) { //가로방향일 경우 color : blue
          body {
              color: blue;
          }
      }
    
    

 

 

and나 or을 사용해 더 복잡한 미디어 쿼리를 만들 수 있다.

 

  • and : 미디어 기능을 합친다.
@media screen and (min-width: 400px) and (orientation: landscape)

 

  • or : 둘중하나를 만족시키면 스타일 적용
@media screen and (min-width: 600px), screen and (orientation: landscape)

 

  • not: 해당 미디어쿼리가 false일때 스타일 적용
@media not all and (orientation: landscape)

'Code개발일지' 카테고리의 다른 글

Hooks & useMemo, useCallback  (1) 2023.01.25
번들링과 웹팩  (0) 2023.01.18
브라우저  (0) 2023.01.16
자료구조 - [스택, 큐, 트리, 그래프]  (0) 2023.01.15
Section3 회고  (0) 2023.01.11