목차
속성을 ​​사용하여 그리드의 열과 행의 숫자와 크기를 정의 할 수 있습니다.
CSS 그리드 레이아웃의
키워드를 사용하여 뷰포트의 크기에 따라 열과 행의 숫자와 크기를 자동으로 조정할 수 있습니다.
웹 프론트엔드 CSS 튜토리얼 CSS 그리드 레이아웃 도입

CSS 그리드 레이아웃 도입

Feb 21, 2025 am 09:35 AM

CSS 그리드 레이아웃 : 강력하고 유연한 웹 사이트 레이아웃을 구축하십시오

코어 포인트

CSS 그리드 레이아웃은 및

또는 별도의 그리드 시스템 스타일 시트와 같은 속성을 사용하지 않고 복잡한 웹 사이트 레이아웃을 만들 수있는보다 강력하고 유연한 방법을 제공합니다.
    현재, IE 10 및 Edge는 CSS 그리드 레이아웃을 지원하지만 Chrome 및 Firefox의 특정 플래그를 통해 또는 Polyfill을 사용하여 활성화 할 수 있습니다.
  • CSS 그리드 레이아웃은 "FR"이라는 측정, 라인, 트랙, 셀 및 영역의 단위를 사용하여 웹 페이지의 요소 레이아웃을 정의합니다. inline CSS 그리드 레이아웃을 사용하면 마커와 레이아웃을 완전히 분리하여 CSS를 더 쉽게 유지 관리 할 수 ​​있으며 디자인의 끝없는 가능성을 제공합니다. float
  • 사진은 Sitepoint/Natalia Balska에서 나온 것입니다.
  • 복잡한 웹 사이트를 만들 때 그리드가 중요합니다. 현대 웹 디자인에서 그리드의 중요성은 개발 속도를 높이기 위해 그리드 시스템을 구현하는 프레임 워크 수에서 볼 수 있습니다.
  • CSS 그리드 레이아웃 사양이 도입되면 그리드 시스템을 사용하기 위해 별도의 스타일 시트를 포함 할 필요가 없습니다. 또 다른 장점은 더 이상 웹 페이지에 요소를 배열하기 위해 및 와 같은 속성에 의존 할 필요가 없다는 것입니다. 이 튜토리얼에서는 그리드 시스템의 기본 사항을 다루고 기본 블로그 레이아웃을 생성합니다.
  • 브라우저 지원
  • 현재, IE 10 및 Edge 지원 그리드 레이아웃 만 - 아직 상용 사이트에서는 사용할 수 없습니다.
  • 는 크롬에서 실험 웹 플랫폼 기능을 통해 크롬에서 활성화 될 수 있습니다.
플래그를 사용하여 Firefox에서 활성화 할 수 있습니다.

또 다른 옵션은 PolyFill을 사용하는 것입니다. CSS 그리드 폴리 필이 존재합니다! 위에서 언급 한 다양한 옵션을 사용하면 그리드 레이아웃 실험을 시작하고 아직 초기 단계에있을 때 가능한 한 많이 배울 수 있습니다. Introducing the CSS Grid Layout 참고 : Internet Explorer는 현재 이전 버전의 사양을 구현합니다. 불행히도 이것은 최신 사양과 완전히 호환되지 않음을 의미합니다. 이 튜토리얼의 예제를 연구 할 때는 해당 플래그를 활성화하여 Chrome 또는 Firefox를 사용하는 것이 좋습니다.

그리드 시스템 용어

요소를 배치하는 측면에서 CSS 그리드 시스템은 테이블과 유사합니다. 그러나 더 강력하고 유연합니다. 이 섹션에서는 그리드를 사용할 때 알아야 할 몇 가지 용어를 논의 할 것입니다. 단위 :이 장치는 사용 가능한 공간의 일부를 지정하는 데 사용됩니다.

와 함께 사용하도록 설계되었습니다. 사양에 따르면

분수 공간을 할당하는 분수 공간은 결국 "길이"또는 컨텐츠 기반 행 및 열 크기가 최대 값에 도달 한 후에 발생합니다. inline float 라인 : 선은 다른 요소의 경계를 정의합니다. 그들은 수직 및 수평으로 달려갑니다. 아래 그림에는 4 개의 수직선과 4 개의 수평선이 있습니다.

도로 : 트랙은 평행선 사이의 공간입니다. 아래 그림에는 세 개의 수직 트랙과 3 개의 수평 트랙이 있습니다.

셀 : 셀은 그리드의 기본 빌딩 블록입니다. 아래 그림에는 총 9 개의 셀이 있습니다.

영역 : 영역은 여러 세포가있는 직사각형 모양입니다. 따라서

트랙 는 이고 는 또한 입니다. 그리드의 위치 요소 기본부터 시작하겠습니다. 이 섹션에서는 그리드를 사용하여 특정 위치에 요소를 찾는 방법을 알려드립니다. CSS 그리드 레이아웃을 사용하려면 부모 요소와 하나 이상의 어린이가 필요합니다. 데모를 위해 다음 태그를 그리드 시스템으로 사용합니다. 태그를 완료 한 후 아래 그림과 같이 부모 요소에 또는 를 적용해야합니다.

Introducing the CSS Grid Layout 특성은 다양한 행과 열의 너비를 지정하는 데 사용됩니다. 위의 예에서는 5 개의 열을 정의했습니다.

열은 슬롯으로 작용하여 요소 사이에 필요한 간격을 제공합니다. 첫 번째 열의 너비는 200px입니다. 세 번째 열은 나머지 공간의 0.3 부분을 차지합니다. 마찬가지로, 다섯 번째 열은 나머지 공간의 0.7 부분을 차지합니다.

내부 컨텐츠를 기반으로 라인을 확장 할 수 있도록 의 첫 번째 줄에 를 사용하십시오. 행은 슬롯 역할을합니다.

이 시점에서 요소는 다음 데모와 같이 밀접하게 배열됩니다. (Codepen Demo 링크는 여기에서 생략됩니다)

요소 B가 슬롯으로 사용하려는 두 번째 열에 위치한다는 것을 관찰하십시오. 그리드 내의 자식 요소의 위치를 ​​지정하지 않으면 브라우저는 첫 번째 행이 완전히 채워질 때까지 각 셀에 하나의 요소를 배치하고 나머지는 다음 행으로갑니다. 그렇기 때문에 두 번째 줄에 4 개의 여분의 열이 남아 있습니다.

그리드의 특정 셀로 요소를 이동하려면 CSS의 위치를 ​​지정해야합니다. 그리드 시스템을 사용하여 요소를 이동하는 방법을 설명하기 전에 아래 이미지를 확인하십시오. (이미지 링크는 여기에서 생략됩니다)
<div class="grid-container">
  <div class="grid-element item-a">A</div>
  <div class="grid-element item-b">B</div>
  <div class="grid-element item-c">C</div>
  <div class="grid-element item-d">D</div>
  <div class="grid-element item-e">E</div>
  <div class="grid-element item-f">F</div>
</div>
로그인 후 복사
로그인 후 복사
<,>이 경우 "라인 기반 배치"를 사용합니다. 라인 기반 배치는 그리드 시스템의 라인이 배치 및 제한 요소에 대한 안내서 역할을한다는 것을 의미합니다. 요소 B를 예로 들어 봅시다. 수평 방향으로 3 열에서 시작하여 4 열에서 끝납니다. 세로 축에서는 1 행과 라인 2 사이에 있습니다.

display: grid 우리는 display: inline-grid를 사용하여 요소의 시작 세로선을 지정합니다. 이 경우 3으로 설정됩니다. 는 요소의 최종 수직선을 나타냅니다. 이 경우이 속성은 4와 같습니다. 해당 행 값도 유사하게 설정됩니다.

위의 모든 것을 고려하여 요소 B를 두 번째 셀로 이동하려면 다음 CSS를 사용합니다.
<div class="grid-container">
  <div class="grid-element item-a">A</div>
  <div class="grid-element item-b">B</div>
  <div class="grid-element item-c">C</div>
  <div class="grid-element item-d">D</div>
  <div class="grid-element item-e">E</div>
  <div class="grid-element item-f">F</div>
</div>
로그인 후 복사
로그인 후 복사
마찬가지로, 요소 F를 여섯 번째 셀로 이동하려면 다음 CSS를 사용합니다.

CSS를 변경 한 후이 데모에서와 같이 요소를 올바르게 간격해야합니다. (Codepen Demo 링크는 여기에서 생략됩니다)

.grid-container {
  display: grid;
  grid-template-columns: 200px 10px 0.3fr 10px 0.7fr;
  grid-template-rows: auto 20px auto;
}
로그인 후 복사
<<> 기본 레이아웃을 만듭니다

기본 블로그 레이아웃을 만들 시간입니다. 블로그에는 실제 콘텐츠에 대한 헤더, 바닥 글, 사이드 바 및 두 섹션이 있습니다. 마커부터 시작합시다 :

태그의 요소 순서는 웹 페이지의 요소 위치에 영향을 미치지 않습니다. CSS를 변경하지 않는 한 태그의 헤더 위에 바닥 글을 넣을 수 있으며 웹 페이지의 요소 위치가 변경되지 않습니다. 물론, 나는 이것을 추천하지 않습니다. 요점은 - 마커는 더 이상 요소의 위치를 ​​결정하지 않습니다. 우리가 지금해야 할 일은

및 다양한 요소의 다른 속성의 값을 결정하는 것입니다. 마지막 예제와 마찬가지로 그리드 그래프를 사용하여 모든 그리드 속성의 값을 결정합니다. (이미지 링크는 여기에서 생략됩니다)

위의 그림과 같이, 헤더는 열 1에서 4 열로, 1 행에서 2 행으로 이동합니다. 이것은 다음과 같이 보일 것입니다 : <🎜 🎜>

< "> 마찬가지로,"추가 "는 열 3에서 4 열로, 5 행에서 6 행으로 간다. CSS는 다음과 같습니다
.element-b {
  grid-column-start: 3;
  grid-column-end: 4;
  grid-row-start: 1;
  grid-row-end: 2;
}
로그인 후 복사
다른 모든 요소의 그리드 특성을 쉽게 결정할 수 있습니다. Codepen 데모를 확인하고 다양한 그리드 값을 실험하여 라인 기반 배치를 더 잘 이해하십시오. (Codepen Demo 링크는 여기에서 생략됩니다)

<🎜 🎜> <<> 결론

CSS 그리드 레이아웃 사양을 통해 복잡한 레이아웃을 쉽게 만들 수 있습니다. 우리가 작성 해야하는 CS는 더 간단하고 유지 관리가 쉽습니다. 디자인에서 복잡한 레이아웃을 만들 때 더 이상 grid-row-end 또는 다른 속성을 사용할 필요가 없습니다. 또 다른 큰 장점은 마킹 및 레이아웃의 완전한 분리입니다. CSS 그리드 레이아웃의 경우 가능성은 끝이 없습니다.

이 튜토리얼에 대해 궁금한 점이 있으면 의견에 알려주십시오.

CSS 그리드 레이아웃에 대한 FAQS

.element-f {
  grid-column-start: 5;
  grid-column-end: 6;
  grid-row-start: 3;
  grid-row-end: 4;
}
로그인 후 복사
CSS 그리드 레이아웃은 다른 CSS 레이아웃 방법과 어떻게 다릅니 까?

CSS 그리드 레이아웃은 1 차원 인 Flexbox와 같은 다른 CSS 레이아웃 방법과 다른 2 차원 레이아웃 시스템입니다. 즉, CSS 그리드를 사용하면 다른 방법이 수행 할 수없는 수평 및 수직 레이아웃을 모두 제어 할 수 있습니다. 더 복잡한 디자인과 큰 레이아웃을 처리하도록 설계되었습니다. 또한보다 유연하고 강력하여보다 창의적이고 더 미세한 디자인이 가능합니다.

CSS 그리드 레이아웃을 시작하는 방법은 무엇입니까?
<div class="grid-container">
  <div class="grid-element header">Header</div>
  <div class="grid-element sidebar">Sidebar</div>
  <div class="grid-element main">Main Content</div>
  <div class="grid-element extra">Extra Info</div>
  <div class="grid-element footer">Footer</div>
</div>
로그인 후 복사
CSS 그리드 레이아웃 사용을 시작하려면 요소의

속성을 ​​ 또는 로 설정해야합니다. 이것은 요소를 그리드 컨테이너로 만들고 자식 요소는 그리드 항목입니다. 그런 다음 다양한 메쉬 속성을 사용하여 메쉬의 레이아웃과 메쉬 항목의 위치를 ​​정의 할 수 있습니다.

다른 CSS 레이아웃 방법과 함께 CSS 그리드 레이아웃을 사용할 수 있습니까?

예, CSS 그리드 레이아웃은 다른 CSS 레이아웃 방법과 함께 사용할 수 있습니다. 예를 들어, 웹 사이트의 구성 요소에 Flexbox를 사용할 수 있으며 전체 레이아웃에는 CSS 그리드를 사용할 수 있습니다. 이를 통해 각 레이아웃 방식을 활용할 수 있습니다.

CSS 그리드 레이아웃을 사용하여 그리드를 만드는 방법은 무엇입니까?

CSS 그리드 레이아웃을 사용하여 그리드를 만들려면 먼저 요소의 속성을

또는 로 설정하여 그리드 컨테이너를 정의해야합니다. 그런 다음

속성을 ​​사용하여 그리드의 열과 행의 숫자와 크기를 정의 할 수 있습니다.

그리드에 항목을 배치하는 방법은 무엇입니까?

당신은 display 및 속성을 ​​사용하여 그리드에 항목을 배치 할 수 있습니다. 이 속성을 사용하면 프로젝트의 시작 및 끝 라인을 지정하여 그리드의 특정 셀 또는 셀에 효과적으로 배치 할 수 있습니다. grid 그리드 라인과 그리드 트랙이란 무엇입니까? inline-grid CSS 그리드 레이아웃에서 그리드 라인은 그리드 구조를 구성하는 분배기입니다. 숫자는 1에서 시작하고 줄 번호는 위에서 왼쪽에서 오른쪽에서 오른쪽으로 증가합니다. 그리드 트랙은 두 개의 인접한 그리드 라인 사이의 공간으로, 열이나 행이 될 수 있습니다. grid-template-columns CSS 그리드 레이아웃의 grid-template-rows 장치는 무엇입니까?

CSS 그리드 레이아웃의

단위는 "점수"를 나타냅니다. 그리드 컨테이너에서 사용 가능한 공간의 일부를 나타냅니다. 예를 들어, 3 개의 열이있는 그리드가 있고 하나의 열 너비를

로 설정하고 다른 두 열의 grid-column로 설정하면 첫 번째 열은 사용 가능한 공간의 3 분의 1을 차지하고 다른 두 열은 2 개의 열을 차지합니다. 열은 각각 1/3을 차지합니다. grid-row 그리드를 반응하는 방법은 무엇입니까?

그리드를 응답하기 위해 및 특성으로 미디어 쿼리를 사용할 수 있습니다. 함수와 함께

키워드를 사용하여 뷰포트의 크기에 따라 열과 행의 숫자와 크기를 자동으로 조정할 수 있습니다.

그리드에 그리드를 중첩 할 수 있습니까?

예, CSS 그리드 레이아웃에서 그리드를 중첩 할 수 있습니다. 즉, 그리드 프로젝트 자체를 그리드 컨테이너로 만들어 복잡한 중첩 레이아웃을 만들 수 있습니다.

CSS 그리드 레이아웃은 모든 브라우저에서 지원됩니까?

모든 최신 브라우저 (Chrome, Firefox, Safari 및 Edge 포함)는 CSS 그리드 레이아웃을 지원합니다. 그러나 Internet Explorer는이를 지원하지 않습니다. 따라서 지원되지 않는 브라우저를 사용하는 사용자에게 대체 레이아웃을 제공하는 것이 중요합니다. fr 외부 웹 사이트와 사진에 액세스 할 수 없으므로 사진을 직접 표시 할 수 없습니다. 이미지 링크가 최종 출력에 올바르게 추가되었는지 확인하십시오.

위 내용은 CSS 그리드 레이아웃 도입의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Google 글꼴 변수 글꼴 Google 글꼴 변수 글꼴 Apr 09, 2025 am 10:42 AM

Google Fonts가 새로운 디자인 (트윗)을 출시 한 것을 볼 수 있습니다. 마지막 큰 재 설계와 비교할 때 이것은 훨씬 더 반복적 인 느낌이 듭니다. 차이를 간신히 말할 수 있습니다

HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법 HTML, CSS 및 JavaScript로 애니메이션 카운트 다운 타이머를 만드는 방법 Apr 11, 2025 am 11:29 AM

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

HTML 데이터 속성 안내서 HTML 데이터 속성 안내서 Apr 11, 2025 am 11:50 AM

HTML, CSS 및 JavaScript의 데이터 속성에 대해 알고 싶었던 모든 것.

Sass를 더 빨리 만들기위한 개념 증명 Sass를 더 빨리 만들기위한 개념 증명 Apr 16, 2025 am 10:38 AM

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

SVG에서 타탄 패턴을 생성하는 정적 사이트를 만드는 방법 SVG에서 타탄 패턴을 생성하는 정적 사이트를 만드는 방법 Apr 09, 2025 am 11:29 AM

타탄은 일반적으로 스코틀랜드, 특히 세련된 킬트와 관련된 패턴의 천입니다. tartanify.com에서 우리는 5,000 개가 넘는 타탄을 모았습니다

WordPress 테마에서 VUE 구성 요소를 빌드하는 방법 WordPress 테마에서 VUE 구성 요소를 빌드하는 방법 Apr 11, 2025 am 11:03 AM

Inline-Template 지시문을 사용하면 기존 WordPress 마크 업에 대한 진보적 인 향상으로 풍부한 VUE 구성 요소를 구축 할 수 있습니다.

PHP는 템플릿을위한 A-OK입니다 PHP는 템플릿을위한 A-OK입니다 Apr 11, 2025 am 11:04 AM

PHP 템플릿은 종종 서브 파 코드를 용이하게하는 데 나쁜 랩을 얻지 만, 그렇지 않아야합니다. PHP 프로젝트가 기본을 시행 할 수있는 방법을 살펴 보겠습니다.

접근 가능한 색상 조합을 생성하기 위해 SASS를 프로그래밍합니다 접근 가능한 색상 조합을 생성하기 위해 SASS를 프로그래밍합니다 Apr 09, 2025 am 11:30 AM

우리는 항상 웹에 더 액세스 할 수 있도록하고 있습니다. 색상 대비는 수학 일 뿐이므로 Sass는 디자이너가 놓친 에지 케이스를 다룰 수 있습니다.

See all articles