-
CSS - 5. 미디어쿼리공부일기/부스트코스 2020. 9. 22. 23:20
1. 미디어 쿼리 소개
미디어쿼리는 각 미디어 매체에 따라 다른 스타일을 적용할 수 있게 만드는 것. 미디어 매체란 모니터와 같은 스크린 매체, 프린트, 스크린 리더기와 같은 것들이다. 미디어 쿼리는 동일한 웹 페이지를 다양한 환경의 사용자들에게 최적화된 경험을 제공할 수 있게 해준다.
2. 미디어 타입 & 미디어 특성
- @media(at media)
@media mediaqueries { /* style rules */ }
미디어 쿼리 구문은 논리적으로 평가되며 참이면 뒤에 나오는 스타일 규칙이 적용되고 거짓이면 무시된다.
- 미디어 타입: 많은 미디어 타입들이 있지만 실무에서 사용되고 알아야 될 타입은 all, print, screen 정도이다. 그 중에서도 screen이 거의 대부분이다.
- 미디어 특성: 미디어 특성 중에서도 width와 orentation 정도이다. width는 뷰포트의 너비, 즉 브라우저 창의 너비를 마하며 orientation은 미디어가 세로모드인지 가로모드인지를 구분한다. 세로모드에서는 portrait, 가로모드에서는 landscape 키워드와 매칭된다.
3. Syntax
media_query_list : S* [media_query [ '.' S* media_query ]* ]? ; media_query : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* | expression [ AND S* expression ]* ; expression : '(' S* media_feature S* [ ':' S* expr ]? ')' S* ;
- S*: 공백이기 떄문에 없다고 보면 됨.
- [a]: 내용이 있을수도 있고, 없을수도 있다.
- a | b: a, b 둘 중에 선택
- a?: a가 0번 나오거나 한번만 나올 수 있음
- a*: a가 0번 나오거나 그 이상 계속 나올 수 있음
- media_type: all, print, screen
- media_feature: width, orientation
1. 여러 개의 미디어 쿼리로 이루어진 리스트로 작성할 수 있다.
2. 미디어 타입 또는 표현식 단독으로도 작성할 수 있다.
3. 표현식은 값이 없이 특성 이름만으로 작성할 수 있다.
media_query : [ONLY | NOT]? S* media_type S* [ AND S* expression ]* | expression [ AND S* expression ]* ;
@media screen {...}: 미디어 타입이 screen이면 적용
@media screen and (min-width:768px) {...}: 미디어 타입이 screen이면서 width가 768px 이상일 때 적용
@media (min-width: 768px) and (max-width: 1024px): 미디어 타입에 상관 없이 width가 768px 이상이고, 1024px이하 일때 적용
@media (color-index): 미디어 장치가 color-index를 지원하면 적용
@media screen and (min-width: 768px), and screen and (orentation: portrait) ...: ','는 or라고 생각하면 됨. 둘 중 하나 참일시 적용
@media not screen and (min-width: 768px): screen이 아니면서 width가 768px 이상이 아닐 때 적용
4. 적용 방법
1. @media:
: @media screen and (color)
2. <link media="">
: <link rel="stylesheet" media="screen and (color)" href="example.css">
3. @import
: @import url(example.css) screen and (color)
'공부일기 > 부스트코스' 카테고리의 다른 글
자바스크립트의 시작 - 2. Javascript 제어문, 함수, 객체 (0) 2020.09.29 자바스크립트의 시작 - 1. 웹과 Javascript (0) 2020.09.25 CSS - 4. 레이아웃 (0) 2020.09.21 CSS - 3. 폰트, 텍스트 (0) 2020.09.19 CSS - 2. 단위, 배경, 박스모델 (0) 2020.09.17