반응형 웹 디자인 기초를
- 트 뷰포트
- 크기의 컨텐츠 뷰포트
- CSS 미디어 쿼리를 사용하여 응답에 대한
- 하는 방법을 선택점
- View 미디어 쿼리를 중단점을 크롬에서 개발자 도구
모바일 장치의 사용하여 웹 서핑을 성장을 계속하고 천문학적 속도, 이러한 장치들은 자주에 의해 제한 디스플레이 크기와 다른 접근 방식이 필요로 할 컨텐츠를 어떻게 마련했습니다.,
반응형 웹 디자인,원래에 의해 정의된 이단 Marcotte 에서 목록 떨어져,의 요구에 응답에 사용자와 장치들이”다시 사용합니다. 장치의 크기와 기능에 따라 레이아웃이 변경됩니다. 예를 들어,휴대 전화 사용자가 콘텐츠를 표시 하나의 열기는 태블릿을 수 있습와 동일한 콘텐츠를 표시에서 두 개의 열이 있습니다.
다수의 다양한 화면 크기에 걸쳐 존재한 휴대폰,”패블릿,”정제,데스크탑,게임 콘솔,Tv,심지어 제품을 제공합니다., 화면 크기는 항상 변화하고 있으므로 사이트가 오늘날이나 미래의 모든 화면 크기에 적응할 수 있다는 것이 중요합니다. 또한,장치는 우리가 그들과 상호 작용하는 다른 기능을 가지고 있습니다. 예를 들어 방문자 중 일부는 터치 스크린을 사용하는 것입니다. 현대적인 반응 형 디자인은 모든 사람을위한 경험을 최적화하기 위해 이러한 모든 것을 고려합니다.
트 뷰포트#
페이지 최적화를 위한 다양한 기기를 포함해야 합 메타 뷰포트 태그의 머리에서 문서입니다.메타 뷰포트 태그는 페이지의 크기 및 크기를 제어하는 방법에 대한 브라우저 지침을 제공합니다.,
을 시도는 최고의 경험을 제공하고,모바일 브라우저 renderthe 페이지에서 바탕 화면 너비(일반적으로 약980px
지만,이 variesacross 장치),그리고 다음을 시도하는 콘텐츠를 더 잘 보여 increasingfont 크기 그리고 확장에 맞게 컨텐츠를니다.이것이 의미하는 글꼴 크기를 나타날 수 있 일치하지 않는 사용자가,누가 있을 수 있습을 두 번 누르거나 손가락으로 접하기 위해 참고하는 콘텐츠와 상호 작용.,
를 사용하는 메타 뷰포트 값width=device-width
지시하는 페이지를 matchthe 면”s 폭 장치-독립적인 픽셀이 있습니다. 장치(또는 밀도)독립적인되는 픽셀의 표현을 하나의 픽셀 수 있는 고밀도 스크린으로 구성의 많은 육체적인 픽셀이 있습니다. 이렇게하면 작은 모바일 폰 또는 대형 데스크탑 모니터에서 렌더링 되든 다른 화면 크기에 맞게 페이지를 리플 로우 할 수 있습니다.,
일부 browserskeep 페이지”s 폭 일정한 회전시킬 때를 landscapemode 및 확대/축소보다 리플로우를 화면을 채울 수 있습니다., 를 추가하는 값initial-scale=1
지시 브라우저를 설정 1:1 사이의 관계를 CSSpixels 및 장치-독립적 픽셀에 관계없이 장치의 방향,andallows 페이지의 활용 전체 가로 폭입니다.
주의:을 보장하는 오래된 브라우저 수 있습을 제대로 구문 분석,속 쉼표를 사용하여 별도의 속성입니다.,
없<meta name="viewport">
태그는width
또는initial-scale
등대를 감사할 수 있습 프로세스를 자동화하는지 확인하여 HTML 문서에 사용하는 뷰포트 메타 태그습니다.,
도 액세스할 수 있는 뷰포트#
이외에 설정initial-scale
설정할 수도 있습니다 다음과 같은 특성에는 뷰포트:
minimum-scale
maximum-scale
user-scalable
설정된 경우,이용자”s 능력을 확대 뷰포트의 잠재적으로 접근성 문제입니다.따라서 이러한 특성을 사용하지 않는 것이 좋습니다.,
크기의 컨텐츠 뷰포트#
모두 데스크탑 및 모바일 장치,사용자가 사용하는 스크롤 웹사이트에 수직으로만 수평;사용자가 스크롤하려면 수평 또는 확대 outin 을 보기 위해 전체 페이지에 결과를 가난한 사용자 경험을 제공합니다.
을 개발할 경우 모바일 사이트와 메타 뷰포트표,그것은”s 쉽게 실수로 만들기 페이지 하는 콘텐츠는”t 는 확실히 맞서는 지정된 호텔이 있습니다.예를 들어 뷰포트보다 넓은 너비로 표시되는 이미지는 뷰포트가 가로로 스크롤될 수 있습니다.,사용자가 가로로 스크롤할 필요가 없도록 이 내용을 뷰포트의 너비 내에 맞게 조정해야 합니다.
콘텐츠가 아기에 대해 올바르게 viewportLighthouse 감사를 자동화할 수 있습니다 프로세스의 검출을 넘치는 내용입니다.
Images#
이미지에 고정 된 치수가 있으며 뷰포트보다 큰 경우 스크롤 막대가 발생합니다.일반적인 방법으로 이 문제를 해결하는 모든 이미지를max-width
100%
.,이렇게하면 뷰포트 크기가 이미지보다 작 으면 이미지가 가지고있는 공간에 맞게 축소됩니다.그러나기 때문에max-width
아닌width
은100%
이 이미지가 늘어나는보다 더 큰 자연의 크기입니다.그것은 일반적으로 안전하는 다음을 추가하 stylesheetso 없을 것입니다 문제는 이미지를 일으키는 스크롤 막대.,
추가 이미지의 크기를 img#
때 사용하는max-width: 100%
재정의 자연적인 차원 이미지 그러나 당신은 여전히 사용하는width
및height
속성에서 당신의<img>
태그이다.이 때문에 현대적인 브라우저는 이 정보를 사용하여 공간을 예약하 imagebefore 드에서 이를 방지하는 데 도움이 될 것입니다 레이아웃을 변화 콘텐츠로드합니다.,
레이아웃#
이후로 화면 크기와 폭 CSS 픽셀 사이에서 넓게 변화 장치(예를 들어,사 휴대폰과 태블릿,심지어 다른 휴대폰),콘텐츠에 의존하지 않는 특정 뷰포트의 폭을 렌더링습니다.
이전에 필요한 설정을 사용 되는 요소를 만드는 레이아웃에 있습니다.아래 예에서,당신이 볼 수있는 두 개의 열이 있는 레이아웃으로 떠내려 요소로,크기를 사용하여 픽셀이 있습니다.뷰포트가 열의 총 너비보다 작아지면 가로로 스크롤해야합니다.내용을 볼 수 있습니다.,
너비에 백분율을 사용하면 열은 항상 컨테이너의 일정 비율로 유지됩니다.즉,스크롤바를 만드는 것보다 열이 좁아집니다.
현대 CSS 레이아웃과 같은 기술을 플렉스박스,그리드 레이아웃 및 Multicolmake 만들의 이러한 유연한 그리드 훨씬 더 쉽습니다.,
플렉스박스#
이 레이아웃 방법은 이상적인 경우에 당신은 항목의 설정이 다른 sizesand 당신이 그들을 편안하게 맞에서 행진 작은 항목을 복용 더 적은 공간과 더 큰 사람이 점점 더 많은 공간을 제공합니다.
에 반응하는 디자인,사용할 수 있는 플렉스박스로 항목을 표시하는 단일 행거나,포장에 여러 개의 행로 사용할 수 있는 공간이 줄어듭니다.Flexbox 에 대해 자세히 알아보십시오.
CSS 그리드 레이아웃#
CSS 그리드 레이아웃을 허용한 간단한 창조의 유연한 그리드.,을 고려한다면 일찍 떴를 들어,창조 보다는 오히려 우리의 열와 백분율을,우리가 사용할 수 있는 그리드 레이아웃과의fr
단위를 나타내는 부분 사용할 수 있는 공간에서 컨테이너입니다.
그리드 사용할 수도 있습을 만드는 일정한 그리드 레이아웃으로 한 많은 항목을 맞는 것입니다.의 번호를 사용할 수 있는 트랙으로 감소 될 것이 화면의 크기가 줄어듭니다.아래의 데모,우리는 많은 카드에 맞는 각 행의 최소 크기와200px
.,
에 대한 자세한 CSS 그리드 레이아웃
여러 열 레이아웃#
에 대한 몇 가지 종류의 레이아웃을 사용할 수 있는 여러 열 레이아웃(Multicol),를 만들 수 있습니다 숫자 반응의 열과 함께column-width
을 제공합니다.아래의 데모에서,당신이 볼 수 있는 열을 추가하는 경우가 있는 또 다른200px
컬럼입니다.,
에 대한 자세한 Multicol
CSS 미디어 쿼리를 사용하여 응답에 대한#
때때로 당신은 당신을해야합니다 더 광범위한 변화를 당신의 layoutto 지원 특정 화면 크기보다 기술은 위와 같이 하고 있습니다.미디어 쿼리가 유용 해지는 곳입니다.
미디어 쿼리는 css 스타일에 적용 할 수있는 간단한 필터입니다.,그들은 쉽게 변경하는 스타일에 기반한 종류의 장치를 렌더링하는 내용,또는의 기능을 하는 장치로,예를 들어 너비,높이,방향,기능을 가리키는지 여부와 장으로 사용되고 있다.,
를 제공합니다 다른 스타일을 인쇄를 위해,당신은 대상의 종류 출력은 그래서 당신은 포함될 수 있습 스타일시트 인쇄를 가진 스타일을 다음과 같다:
또는,당신은 당신이 포함될 수 있 인쇄에서 스타일의 메인 스타일 시트를 사용하여 미디어 쿼리:
그것은 또한 포함하는 것이 가능해 별도의 스타일에서 CSS 로 사용하여 파일의@import
구문,@import url(print.css) print;
그러나 이 사용하지 않는 것이 좋은 성능 이유입니다.자세한 내용은 Css 가져 오기 피하기를 참조하십시오.,
에 대한 반응형 웹 디자인,우리는 일반적으로 쿼리하는 기능의 devicein 을 제공하기 위해 서로 다른 레이아웃 작은 화면에 대한,또는 때 우리는 감지하는 우리의 방문자를 사용하세요.
미디어를 기준으로 하는 쿼리에는 뷰포트 크기#
미디어 쿼리를 활성화를 만들고 반응하는 experiencewhere 특정한 스타일에 적용된 작은 스크린,큰 스크린을,어디서나 사이 있습니다.따라서 우리가 여기에서 감지하고있는 기능은 화면 크기이며 다음과 같은 것들을 테스트 할 수 있습니다.,
-
width
(min-width
,max-width
) -
height
(min-height
,max-height
) orientation
aspect-ratio
All of these features have excellent browser support,for more details including browser support information seewidth,height,orientation, andaspect-ratio on MDN.
The specification did include tests for device-width
and device-height
., 이들은 사용되지 않았으며 피해야합니다.device-width
및device-height
테스트에 대한 실제 크기의 장치 창던에서 유용하지 않습 때문에 다를 수 있습니다 뷰포트에서는 사용자에서 찾고 있는 경우,예를 들어,그들은 크기가 조정 브라우저 창에 있습니다.
미디어 쿼리를 기반으로 장치의 기능을#
주어진 다양한 장치 사용할 수 있는 가정은 모든 큰 장치는 정기적 데스크톱 또는 랩톱 컴퓨터로,또는 그 사람만을 사용하여 터치스크린에 장치.,으로 일부를 새로운 추가는 미디어 쿼리를 specificationwe 할 수 있는 테스트와 같은 기능을 위한 유형의 포인터를 사용과 상호 작용하는 deviceand 할 수 있는지를 가져가 요소입니다.
hover
pointer
any-hover
any-pointer
도 보기 이모에서 다른 장치 와 같은 일반 데스크탑 컴퓨터 및 전화 또는 태블릿입니다.
이러한 새로운 기능이 좋은 지원을 모든 현대적인 브라우저에서., MDN 페이지에서 자세히 알아보십시오.호버,any-hover,pointer,any-pointer.
Usingany-hover
및any-pointer
#
기능을any-hover
및any-pointer
을 테스트하는 경우 사용자가 capabilityto 를 사용하는 유형의 포인터가되지 않은 경우에도 기본적인 방법 그들과 상호작용 기능을 가지고 있습니다.사용할 때에 각별한 주의가 필요합니다.사용자가 터치 스크린을 사용할 때 마우스로 전환하도록 강요하는 것은 매우 친절하지 않습니다!,그러나any-hover
및any-pointer
유용할 수 있는 경우 그것은 중요한 일이 어떤 종류의 장치 사용자가.예를 들어,노트북 터치 스크린 및 트랙 패드와 일치해야 하고 굵고,포인터를 추가하는 능력을 가져가 수 있습니다.
중단 점을 선택하는 방법#
don”t 장치 클래스를 기반으로 중단 점을 정의하십시오.정의 중단에 따라 특정한 장치,제품,브랜드 이름 또는 운영하는 시스템에서 오늘 사용할 수 있는 결과에 유지 관리하는 데 큰 어려움.,대신 콘텐츠 자체가 레이아웃이 컨테이너에 어떻게 조정되는지 결정해야합니다.
선택 주요 중단을 시작해서,작은 다음 작업#
디자인 콘텐츠에 맞게 작은 화면에서 크기,먼저 확장하는 때까지 화면 중단이 필요할 수 있습니다.이를 통해 콘텐츠를 기반으로 중단 점을 최적화 할 수 있습니다.가능한 최소 중단 점 수를 유지하십시오.
우리가 처음에 보았던 예를 통해 일하게하십시오:일기 예보.첫 번째 단계는 작은 화면에서 예측을 잘 보이게하는 것입니다.,
다음으로,크기를 조정 브라우저가 있을 때까지 너무 많은 흰색 공간 요소,그리고 예측하”t 습니다.결정은 다소 주관적인,하지만 위의600px
는 확실히 너무 넓습니다.
를 삽입하려면에서 중단점을600px
을 만들고,두 개의 미디어 쿼리의 끝에서 CSS 로 구성 요소에 대한,하나를 사용할 때 브라우저600px
와 아래,그리고 한 때보다 더 넓은600px
.이 작업을 수행하려면 어떻게해야합니까? 600px
의max-width
에 대한 미디어 쿼리 안에 작은 화면에만 해당하는 CSS 를 추가하십시오., A 에 대한 미디어 쿼리 내부min-width
의601px
더 큰 화면에 대한 css 추가.
선택 사소한 중단점을 필요한 경우#
을 선택하는 것 외에도 주요 중단점을 경우 레이아웃을 크게 변경되고,그것은 또한 도움이를 조정한 사소한 변경합니다.예를 들어,사용 중단하는 것이 도움이 될 수 있습 여백을 조정 또는 패딩 요소 또는 증가하는 글꼴 크기는 그것을 느낄 수 있도록 더 많은 자연에서 레이아웃이 있습니다.작은 화면 레이아웃을 최적화하여 시작하겠습니다.,이 경우 뷰포트 너비가360px
보다 클 때 글꼴을 향상 시키십시오.두 번째,이 있을 때 충분한 공간이,우리가 할 수 있는 별도의 고온 및 저온 그래서 그들은”다시 동일한 lineinstead 의 서로의 상단에.그리고 날씨 아이콘을 조금 더 크게 만드십시오.
마찬가지로,을 위해 대형 스크린에 그것을”최상의 제한을 최대 너비의 예측 panelso 다”t 소비 전체 화면 폭입니다.,
최적화에 대한 텍스트를 읽고#
고전독성이론을 제안하는 이상적인 열이 포함되어야 합 70~80 당 문자 라인(약 8~10 은 영어 단어).따라서 텍스트 블록의 너비가 약 10 단어를지나 커질 때마다 중단 점을 추가하는 것을 고려하십시오.
위의 블로그 게시물 예제를 더 자세히 살펴 보겠습니다.작은 화면에서는,버전에서1em
완벽하게 작동 주는 10 어 있을 수 있습니다,그러나 더 큰 스크린을 필요로 중단점입니다.이 경우에는 브라우저 너비보다 큰575px
,이상적인 콘텐츠,폭은550px
.,
피 단순히 숨어있는 컨텐츠#
주의를 선택할 때는 어떤 콘텐츠를 숨기기 또는 표시에 따라 화면 크기입니다.돈”t 단순히 당신이 할 수 있기 때문에 콘텐츠를 숨길”t 화면에 맞게.화면 크기는 사용자가 원하는 것을 나타내는 확실한 표시가 아닙니다.예를 들어,제 꽃가루에서 계산 날씨 forecastcould 심각한 문제에 대한 봄간 알레르기 환자가 필요 informationto 결정하면 그들이 또하지 않습니다.,
View 미디어 쿼리를 중단점을 크롬에서 개발자 도구#
면”ve got 미디어 쿼리를 중단점을 설정하고,당신이”보고 싶어 어떻게 귀하의 사이트를 보인다.할 수 있는 브라우저의 창 크기를 조정 트리거 중단점,그러나 크롬 개발자 도구는 기능을 내장하기 쉽게 만드는 방법을 보려면 페이지 looksunder 다른점.
을 보려면 페이지에서 서로 다른 중단점:
열 DevToolsand 다음 장치에서 모니다.이것은 기본적으로 반응 모드에서 열립니다.
미디어 쿼리를 보려면 Device Mode 메뉴를 열고 selectshow media queriesto 페이지 위에 색상이 지정된 막대로 중단 점을 표시하십시오.해당 미디어 쿼리가 활성화되어있는 동안 페이지를 보려면 막대 중 하나를 클릭하십시오.,막대를 마우스 오른쪽 버튼으로 클릭하면 미디어 쿼리”의 정의로 이동합니다.