본문 바로가기

소프트웨어/HTML+CSS

HTML+CSS 반응형 웹 (마지막 이야기)

viewport

 .webkit 기반 모바일 브라우저의 기본 뷰포트 너비 980px

 .viewport 지정, <head> 태그 사이 작성

  ..<meta name="viewport" content="<속성1=값>, <속성2=값>, ...">
  ..content 속성

속성 설명 사용 가능한 값 기본 값
width 뷰포트 너비 device-width | 크기 브라우저 기본 값
height 뷰포트 높이 device-height | 크기 브라우저 기본 값
user-scalable 확대/축소 가능 여부 yes | no  yes
initial-scale 초기 확대/축소 값 1~10 1
minimum-scale 최소 확대/축소 값 0~10 0.25
maxumim-scale 최대 확대/축소 값 0~10 1.6

 

크롬 '디바이스 모드'

http://mediaqueri.es/ : 미디어 쿼리를 이용한 반응형 웹 사이트 소개

 

가변 그리드 레이아웃 fluid grid layout

 

주로 960 픽셀의 12칼럽 그리드 사용 ( 1칼럼=60px, 좌우마진 10px)

 

1. 전체를 감싸는 요소 확인

 .너비 값을 백분율 값으로 변환

 

2. 각 요소의 너비 값 계산

 .요소의 너비 / 콘텐츠 전체를 감싸는 요소의 너비 *100

 

가변 글꼴

  .텍스트 크기를 px 단위 지정 시 크기 고정, 화면 작은 기기에선 작게 표시, em / rem 사용

  .em단위 : 부모 요소의 폰트 대문자 M의 너비를 1em으로 지정 , 1em=16px

  .rem 단위 : root em으로 처음부터 기본 크기를 지정하여 중간에 바뀌지 않음

 

가변 이미지(fluid image)

 .CSS max-width 속성 값 100% 지정, 고해상도 경우 사이즈 커 다운로드 오래 걸림

 .<img src="<이미지>" srcset="<이미지1 픽셀밀도>[, <이미지2>, ...]">, 너비에 따라 표시할 이미지 나열

 .<picture> <source> 태그 - 상황별 다른 이미지 표시

  ..<picture>

        <source srcset="images/1.jpg" media="(min-width:1024px)">

        <source srcset="images/2.jpg" media="(min-width:768px)">

        <img src="images/.jpg" alt="fill with coffee" style="width:100%">

   </picture>

 

가변 비디오

 .CSS max-width 속성 값 100% 지정

 

미디어쿼리

 

mediaqueri : CSS3 모듈 중 하나로 접속하는 장치에 따라 특정한 CSS 스타일 적용

 .@media [only | not] 미디어 유형 [and 조건] * [and 조건]

 .<style> 태그 안에 사용하며, 미디어 유형 지정, 필요에 따라 and 연산자로 조건 적용

 .미디어 유형의 종류

미디어 유형 사용 가능한 미디어
all 모든 미디어 유형
print 인쇄 장치
screen 컴퓨터 스크린(스마트폰 포함)
tv

TV

aural 음성 합성 장치 (화면을 읽어 소리로 출력하는 장치)
braile 점자 표시 장치
handheld 패드처럼 들고 다니는 장치
projection 프로젝터
tty 디스플레이 기능이 제한된 장치 (px 단위 사용 불가)
embossed 점자 프린터

화면 크기에 따라 다른 CSS 적용

width, height : 웹페이지 가로, 세로 길이

min-width/height : 최소

max-width/height : 최대

 

단말기의 크기에 따라 적용

device-width/height : 단말기의 가로 너비, 세로 높이

min-device-width/height : 단말기의 최소 너비, 높이

max-device-width/height : 단말기의 최대 너비, 높이

 

화면 회전

orientation:portrait  세로 방향

orientation:landscape 가로 방향

 

화면 비율, 물리적 화면 비율

 .뷰포트의 너비 값 /높이 값

 .aspect-ratio 속성 : 화면 비율

 .min-aspect-ratio 속성 : 최소 화면 비율

 .max-aspect-ratio 속성 : 최대 화면 비율

 .device-aspect-ratio 속성 : 단말기 화면 비율

 .min-device-aspect-ratio 속성 : 단말기 최소 화면 비율

 .max-device-aspect-ratio 속성 : 단말기 최대 화면 비율

 

색상당 비트 수 

 color : 비트 수

 min-color : 최소 비트 수 

 max-color : 최대 비트 수

 

https://www.w3.org/TR/css3-mediaqueries/ :  여러 미디어쿼리 조건 

 

중단점 break point

 .mobile first  : 모바일을 중단점으로 하고 태블릿, 데스트톱을 작성하는것

 .스마트폰 : 기본 CSS 작성, 세로일 때 min-width :320px, 가로일 때 min-width : 480px

 .태블릿 : 768px 이상일 때 태블릿 지정, 가로일 땐 데스트콥과 동일 1024px

 .데스크톱 - 1024px 이상

 

외부 CSS 파일 연결하기

 .<head> 태그 사이에 삽입,<link rel="stylesheet" media="미디어 쿼리 조건" href="css 파일 경로">

 .<style>태그 사이 사용, @import url(css 파일경로) 미디어 쿼리 조건

 .외부 파일이 많을 경우 <link> 태그 권장

 

웹문서에 직접 정의

 .<style media="">

 .<style> @medial 미디어쿼리 조건{ 규칙} 

 

모바일 해상도

http://mobiphonespec.com/cellphone-screen-resolution.php

 

플렉서블 박스 레이아웃 flexible box layout

 .flex container  

 .flex item : container 에 담기는 웹 요소

 .main axis : 배치하는 기본 방향, 왼쪽에서 오른쪽 수평 방향 배치

 .cross axis : main axis와 교차되는 방향, 위에서 아래

 

display 속성 - flex container 지정

 .display : flex | inline-flex

 .display:-webkit-box;

 .display:-moz-box;

 .display:-ms-flexbox;

 .display:-webkit-flex;

 

flex-direction 속성 - 방향 지정

 .flex-direction : row | row-inverse | column | column-inverse

 

flex-wrap 속성 - item을 한줄, 여러 줄로 배치

 .flex-wrap : no-wrap | wrap | wrap-reverse

 

flex-flow 속성 - 방향과 여러 줄의 배치를 한꺼번에 지정

 .flex-flow : <플렉스 방향> < 플렉스 줄 배치>

 

order 속성 - 플렉스 항목 배치 순서 바꾸기

 .oreder : 0 | 숫자

 .플렉스 항목에서 지정

 

flex 속성 - 플렉스 항목 크기 조절

 .flex : [<flex-grow> < flex-shrink> <flex-basis>] | auto | initial

 

justify-content 속성 - 주축 기준의 배치 방법 지정

 .justify-content : flex-start | flex-end | center | space-between | space-around 

 

align-items, align-self 속성 - 교차축 기준의 배치 방법 지정

 .align-items : stretch | flex-start | flex-end | center | baseline

 .align-self : auto | strectch | flex-start | flex-end | center | baseline

 

align-content 속성 - 여러 줄일때 배치 방법 지정

 .align-content : flex-start | flex-end | center | space-between | space-around 

'소프트웨어 > HTML+CSS' 카테고리의 다른 글

CSS 7번째 - 애니메이션  (0) 2020.01.30
CSS 6번째 - 선택자  (0) 2020.01.22
CSS 5번째 - CSS 포지셔닝  (0) 2020.01.17
CSS 4번째 - 레이아웃 스타일  (0) 2020.01.16
CSS 3번째 - 색상/배경 스타일  (0) 2020.01.15