CSS 튜토리얼

CSS 홈 CSS 소개 CSS 구문 CSS 선택기 CSS 방법 CSS 주석 CSS 색상 CSS 배경 CSS 테두리 CSS 여백 CSS 패딩 CSS 높이/너비 CSS 상자 모델 CSS 개요 CSS 텍스트 CSS 글꼴 CSS 아이콘 CSS 링크 CSS 목록 CSS 테이블 CSS 디스플레이 CSS 최대 너비 CSS 위치 CSS Z-색인 CSS 오버플로 CSS 플로트 CSS 인라인 블록 CSS 정렬 CSS 결합기 CSS 의사 클래스 CSS 의사 요소 CSS 불투명도 CSS 탐색 모음 CSS 드롭다운 CSS 이미지 갤러리 CSS 이미지 스프라이트 CSS 속성 선택기 CSS 양식 CSS 카운터 CSS 웹사이트 레이아웃 CSS 단위 CSS 특수성 CSS !중요 CSS 수학 함수

CSS 고급

CSS 둥근 모서리 CSS 테두리 이미지 CSS 배경 CSS 색상 CSS 색상 키워드 CSS 그라디언트 CSS 그림자 CSS 텍스트 효과 CSS 웹 글꼴 CSS 2D 변환 CSS 3D 변환 CSS 전환 CSS 애니메이션 CSS 도구 설명 CSS 스타일 이미지 CSS 이미지 반사 CSS 객체 맞춤 CSS 객체 위치 CSS 마스킹 CSS 버튼 CSS 페이지 매김 CSS 다중 열 CSS 사용자 인터페이스 CSS 변수 CSS 상자 크기 조정 CSS 미디어 쿼리 CSS MQ 예 CSS 플렉스박스

CSS 반응형

RWD 소개 RWD 뷰포트 RWD 그리드 보기 RWD 미디어 쿼리 RWD 이미지 RWD 비디오 RWD 프레임워크 RWD 템플릿

CSS 그리드

그리드 소개 그리드 컨테이너 그리드 항목

CSS SASS

SASS 튜토리얼

CSS 예제

CSS 템플릿 CSS 예제 CSS 퀴즈 CSS 연습 CSS 인증서

CSS 참조

CSS 참조 CSS 선택기 CSS 함수 CSS 참조 청각 CSS 웹 안전 글꼴 CSS 애니메이션 가능 CSS 단위 CSS PX-EM 변환기 CSS 색상 CSS 색상 값 CSS 기본값 CSS 브라우저 지원

반응형 웹 디자인 - 그리드 보기


그리드 뷰란 무엇입니까?

많은 웹 페이지는 그리드 보기를 기반으로 합니다. 즉, 페이지가 열로 나뉩니다.


그리드 보기를 사용하면 웹 페이지를 디자인할 때 매우 유용합니다. 페이지에 요소를 더 쉽게 배치할 수 있습니다.


반응형 그리드 보기에는 종종 12개의 열이 있고 총 너비는 100%이며 브라우저 창의 크기를 조정하면 축소 및 확장됩니다.

예: 반응형 그리드 보기



반응형 그리드 뷰 구축

반응형 그리드 보기 구축을 시작해 보겠습니다.

먼저 모든 HTML 요소의 box-sizing속성이 로 설정되어 있는지 확인합니다 border-box. 이렇게 하면 요소의 전체 너비와 높이에 패딩과 테두리가 포함됩니다.

CSS에 다음 코드를 추가합니다.

* {
  box-sizing: border-box;
}

CSS 상자 크기 조정box-sizing에서 속성에 대해 자세히 알아보십시오 .

다음 예는 두 개의 열이 있는 간단한 반응형 웹 페이지를 보여줍니다.

25%
75%

예시

.menu {
  width: 25%;
  float: left;
}
.main {
  width: 75%;
  float: left;
}

위의 예는 웹 페이지에 두 개의 열만 있으면 문제가 없습니다.

그러나 웹 페이지를 더 잘 제어하기 위해 12개의 열이 있는 반응형 그리드 보기를 사용하려고 합니다.

먼저 하나의 열에 대한 백분율을 계산해야 합니다: 100% / 12개 열 = 8.33%.

그런 다음 12개 열 각각에 대해 하나의 클래스를 만들고 class="col-"섹션이 확장되어야 하는 열 수를 정의하는 숫자를 만듭니다.

CSS:

.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

 이 모든 열은 왼쪽으로 떠 있어야 하고 패딩은 15px이어야 합니다.

CSS:

[class*="col-"] {
  float: left;
  padding: 15px;
  border: 1px solid red;
}

각 행은 <div>. 행 안의 열 수는 항상 12개까지 더해야 합니다.

HTML:

<div class="row">
  <div class="col-3">...</div> <!-- 25% -->
  <div class="col-9">...</div> <!-- 75% -->
</div>

행 내부의 열은 모두 왼쪽으로 떠 있으므로 페이지의 흐름에서 제외되고 다른 요소는 열이 존재하지 않는 것처럼 배치됩니다. 이를 방지하기 위해 흐름을 지우는 스타일을 추가합니다.

CSS:

.row::after {
  content: "";
  clear: both;
  display: table;
}

또한 더 보기 좋게 만들기 위해 몇 가지 스타일과 색상을 추가하고 싶습니다.

예시

html {
  font-family: "Lucida Sans", sans-serif;
}

.header {
  background-color: #9933cc;
  color: #ffffff;
  padding: 15px;
}

.menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu li {
  padding: 8px;
  margin-bottom: 7px;
  background-color :#33b5e5;
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.menu li:hover {
  background-color: #0099cc;
}

브라우저 창의 크기를 매우 작은 너비로 조정하면 예제의 웹 페이지가 제대로 표시되지 않습니다. 다음 장에서는 이를 수정하는 방법을 배우게 됩니다.