"모바일 퍼스트"의 기원
반응 형 디자인 과 관련하여 "모바일 우선"이라는 개념은 모바일 장치 용 브라우저가 데스크톱 장치에서 볼 수있는 것보다 성능이 떨어질 때부터 시작됩니다. 그들 중 많은 사람들이 미디어 쿼리를 전혀 지원하지 않았기 때문에 멋진 데스크탑 디자인을 구축하고 좁은 뷰포트에 대한 미디어 쿼리를 사용하여 스타일을 고수한다는 아이디어는 얼굴에 평평하게 떨어졌습니다.
미디어 쿼리에 대한 지원이없는 것은 실제로 첫 번째 미디어 쿼리입니다.
- 브라이언 리거
모바일이 여전히 관련성이 있습니까?
모바일 장치 용 브라우저가 데스크탑 브라우저를 따라 잡았음에도 불구하고 "모바일 우선"은 여전히 스타일을 작성하는 가장 논리적 인 방법입니다.
"이전 스타일 선언 취소 취소"라는 관점에서 생각하고 싶습니다. 스타일을 작성하고 나중에 재정의하는 대신에 부가적인 접근 방식은 거의 항상 더 컴팩트 한 스타일 시트로 이어질 것입니다. 대부분 / 모든 장치에 적합한 스타일은 미디어 쿼리 외부에서 찾아야하며 특정 뷰포트에만 관련된 스타일은 미디어 쿼리 뒤에 있어야합니다.
"데스크톱 우선"접근 방식을 비교하십시오.
.column {
float: left;
width: 50%;
}
@media all and (max-width: 50em) {
.column {
float: none;
width: auto;
}
}
"모바일 우선"접근 방식 :
@media all and (min-width: 50em) {
.column {
float: left;
width: 50%;
}
}
결과는 동일하지만 나중에 더 작습니다. Brad Frost의 7 가지 습관의 매우 효과적인 미디어 쿼리 에서 뻔뻔스럽게 복사 된 샘플 스타일 .
"데스크톱 우선"이 다른 방법보다 더 적합한 경우는 거의 없습니다. 가장 눈에 띄는 것은 반응 형 테이블과 같은 일을 할 때입니다. 넓은 뷰포트는 테이블의 기본 스타일을 원하지만 좁은 뷰포트는 내용을 세로로 쌓을 수 있도록 모든 것을 무시합니다.
스타일 시트를 나누지 마십시오
절대로 하지 말아야 할 한 가지는 반응 형 스타일을 개별 CSS 파일로 분할하고 링크 요소에서 media 속성을 사용하는 것입니다. 이것은 UA가 링크 된 모든 스타일 시트를 다운로드하게함으로써 바람직하지 않은 결과를 초래합니다 (즉, 그렇게하기위한 속도 개선은 없습니다).
<!-- this is bad, don't do this -->
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" />
코드는 먼저 모바일이어야하지만 디자인 접근 방식은 어떻습니까?
나는 그것이 중요하지 않다고 생각합니다. 설계와 관련된 모든 뷰포트에 대한 배치를 수행 해야 합니다 (필요한 작은 중단 점을 고려하면 최소 2 개 또는 5 개가 포함될 수 있습니다). 순서는 결국 중요하지 않습니다. 많은 설계자들이 데스크톱 레이아웃으로 시작해야하는 원칙이없고 모바일 레이아웃에서 시작하는 것이 더 쉽다는 것을 알게됩니다.
데스크탑 레이아웃에서 시작하려면 해당 페이지의 내용을 향상시키지 않는 혼란스러운 모든 공백을 채우려는 유혹을 피해야합니다. 당신은 정말 그 전화를 들고 웃는 여자의 800x600 재고가 필요합니까? 쓸모없는 보풀을 다운로드하기 위해 모바일 사용자에게 추가 비용이 들기 때문에 데스크톱 사용자가 과거를 건너 뛸 수있는 시각적 혼란입니다.