이 기사에서는 응답 형 멀티 컬럼 웹 사이트 레이아웃을 만들어 CSS 그리드가 작동하는 것을 보게 될 것입니다.
CSS 그리드는 요즘 웹 개발의 새로운 트렌드입니다. 테이블 레이아웃과 플로트는 잊어 버리십시오 : 웹 사이트를 디자인하는 새로운 방법은 이미 여기에 있습니다! 이 기술은 소수의 CSS 규칙으로 여러 레이아웃 영역을 정의하는 2 차원 그리드를 소개합니다.
그리드는 모든 것을 쉽게 할 수 있으므로 960GS 또는 부트 스트랩 그리드와 같은 타사 프레임 워크를 만들 수 있습니다! 이 기능은 모든 주요 브라우저에서 지원되지만 Internet Explorer는 이전 버전의 사양을 구현합니다.
그리드 레이아웃을 처음 사용하는 경우 CSS 그리드에 대한 초보자 안내서를 확인하십시오.
.
그러나 CSS는 계속 발전하고 있으며 이제 CSS 그리드가 있습니다. 개념적으로, 그것은 오래된 테이블 레이아웃과 유사하지만 더 유연한 레이아웃을 가진 시맨틱 HTML 요소를 사용할 수 있습니다.
<span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span> class<span>="logo"</span>></span>
</span> <span><span><span><h1</span>></span><span><span><a</span> href<span>="#"</span>></span>DemoSite<span><span></a</span>></span><span><span></h1</span>></span>
</span> <span><span><span></header</span>></span>
</span>
<span><span><span><nav</span> class<span>="main-menu"</span>></span>
</span> <span><span><span><ul</span>></span>
</span> <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Our clients<span><span></a</span>></span><span><span></li</span>></span>
</span> <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Products<span><span></a</span>></span><span><span></li</span>></span>
</span> <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Contact<span><span></a</span>></span><span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span> <span><span><span></nav</span>></span>
</span>
<span><span><span><main</span> class<span>="content-area"</span>></span>
</span> <span><span><span><h2</span>></span>Welcome!<span><span></h2</span>></span>
</span>
<span><span><span><p</span>></span>
</span> Content
<span><span><span></p</span>></span>
</span> <span><span><span></main</span>></span>
</span>
<span><span><span><aside</span> class<span>="sidebar"</span>></span>
</span> <span><span><span><h3</span>></span>Additional stuff<span><span></h3</span>></span>
</span>
<span><span><span><ul</span>></span>
</span> <span><span><span><li</span>></span>Items<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Are<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Listed<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Here<span><span></li</span>></span>
</span> <span><span><span><li</span>></span>Wow!<span><span></li</span>></span>
</span> <span><span><span></ul</span>></span>
</span> <span><span><span></aside</span>></span>
</span>
<span><span><span><section</span> class<span>="sponsors-wrapper"</span>></span>
</span> <span><span><span><h2</span>></span>Our sponsors<span><span></h2</span>></span>
</span>
<span><span><span><section</span> class<span>="sponsors"</span>></span>
</span> <span><span><span><figure</span> class<span>="sponsor"</span>></span>
</span> <span><span><span><img</span> src<span>="https://via.placeholder.com/150x150"</span>></span>
</span> <span><span><span></figure</span>></span>
</span>
<span><span><span><figure</span> class<span>="sponsor"</span>></span>
</span> <span><span><span><img</span> src<span>="https://via.placeholder.com/200x150"</span>></span>
</span> <span><span><span></figure</span>></span>
</span>
<span><span><span><figure</span> class<span>="sponsor"</span>></span>
</span> <span><span><span><img</span> src<span>="https://via.placeholder.com/100x200"</span>></span>
</span> <span><span><span></figure</span>></span>
</span>
<span><span><span><figure</span> class<span>="sponsor"</span>></span>
</span> <span><span><span><img</span> src<span>="https://via.placeholder.com/100x100"</span>></span>
</span> <span><span><span></figure</span>></span>
</span>
<span><span><span><figure</span> class<span>="sponsor"</span>></span>
</span> <span><span><span><img</span> src<span>="https://via.placeholder.com/200x200"</span>></span>
</span> <span><span><span></figure</span>></span>
</span> <span><span><span></section</span>></span>
</span>
<span><span><span></section</span>></span>
</span>
<span><span><span><footer</span> class<span>="footer"</span>></span>
</span> <span><span><span><p</span>></span>
</span> <span title="©">© 2018 DemoSite. White&Sons LLC. All rights (perhaps) reserved.
</span> <span><span><span></p</span>></span>
</span> <span><span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
<span><span>.logo</span> {
</span> <span>grid-area: logo;
</span><span>}
</span>
<span><span>.main-menu</span> {
</span> <span>grid-area: menu;
</span><span>}
</span>
<span><span>.content-area</span> {
</span> <span>grid-area: content;
</span><span>}
</span>
<span><span>.sidebar</span> {
</span> <span>grid-area: sidebar;
</span><span>}
</span>
<span><span>.sponsors-wrapper</span> {
</span> <span>grid-area: sponsors;
</span><span>}
</span>
<span><span>.footer</span> {
</span> <span>grid-area: footer;
</span><span>}
</span>
<span><span>.container</span> { </span> <span>display: grid; </span> <span>margin: 0 2rem; </span> <span>grid-template-columns: 2fr 6fr 4fr; </span><span>} </span>
.
<span><span>.container</span> { </span> // ... <span>grid-gap: 2rem 1rem; </span><span>} </span>
그 후
<span>* { </span> <span>box-sizing: border-box; </span><span>} </span> <span>html { </span> <span>font-size: 16px; </span> <span>font-family: Georgia, serif; </span><span>} </span> <span>body { </span> <span>background-color: #fbfbfb; </span><span>} </span> <span>h1<span>, h2, h3</span> { </span> <span>margin-top: 0; </span><span>} </span> <span>header h1 { </span> <span>margin: 0; </span><span>} </span> <span>main p { </span> <span>margin-bottom: 0; </span><span>} </span>
스폰서
<span><span><span><div</span> class<span>="container"</span>></span> </span> <span><span><span><header</span> class<span>="logo"</span>></span> </span> <span><span><span><h1</span>></span><span><span><a</span> href<span>="#"</span>></span>DemoSite<span><span></a</span>></span><span><span></h1</span>></span> </span> <span><span><span></header</span>></span> </span> <span><span><span><nav</span> class<span>="main-menu"</span>></span> </span> <span><span><span><ul</span>></span> </span> <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Our clients<span><span></a</span>></span><span><span></li</span>></span> </span> <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Products<span><span></a</span>></span><span><span></li</span>></span> </span> <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Contact<span><span></a</span>></span><span><span></li</span>></span> </span> <span><span><span></ul</span>></span> </span> <span><span><span></nav</span>></span> </span> <span><span><span><main</span> class<span>="content-area"</span>></span> </span> <span><span><span><h2</span>></span>Welcome!<span><span></h2</span>></span> </span> <span><span><span><p</span>></span> </span> Content <span><span><span></p</span>></span> </span> <span><span><span></main</span>></span> </span> <span><span><span><aside</span> class<span>="sidebar"</span>></span> </span> <span><span><span><h3</span>></span>Additional stuff<span><span></h3</span>></span> </span> <span><span><span><ul</span>></span> </span> <span><span><span><li</span>></span>Items<span><span></li</span>></span> </span> <span><span><span><li</span>></span>Are<span><span></li</span>></span> </span> <span><span><span><li</span>></span>Listed<span><span></li</span>></span> </span> <span><span><span><li</span>></span>Here<span><span></li</span>></span> </span> <span><span><span><li</span>></span>Wow!<span><span></li</span>></span> </span> <span><span><span></ul</span>></span> </span> <span><span><span></aside</span>></span> </span> <span><span><span><section</span> class<span>="sponsors-wrapper"</span>></span> </span> <span><span><span><h2</span>></span>Our sponsors<span><span></h2</span>></span> </span> <span><span><span><section</span> class<span>="sponsors"</span>></span> </span> <span><span><span><figure</span> class<span>="sponsor"</span>></span> </span> <span><span><span><img</span> src<span>="https://via.placeholder.com/150x150"</span>></span> </span> <span><span><span></figure</span>></span> </span> <span><span><span><figure</span> class<span>="sponsor"</span>></span> </span> <span><span><span><img</span> src<span>="https://via.placeholder.com/200x150"</span>></span> </span> <span><span><span></figure</span>></span> </span> <span><span><span><figure</span> class<span>="sponsor"</span>></span> </span> <span><span><span><img</span> src<span>="https://via.placeholder.com/100x200"</span>></span> </span> <span><span><span></figure</span>></span> </span> <span><span><span><figure</span> class<span>="sponsor"</span>></span> </span> <span><span><span><img</span> src<span>="https://via.placeholder.com/100x100"</span>></span> </span> <span><span><span></figure</span>></span> </span> <span><span><span><figure</span> class<span>="sponsor"</span>></span> </span> <span><span><span><img</span> src<span>="https://via.placeholder.com/200x200"</span>></span> </span> <span><span><span></figure</span>></span> </span> <span><span><span></section</span>></span> </span> <span><span><span></section</span>></span> </span> <span><span><span><footer</span> class<span>="footer"</span>></span> </span> <span><span><span><p</span>></span> </span> <span title="©">© 2018 DemoSite. White&Sons LLC. All rights (perhaps) reserved. </span> <span><span><span></p</span>></span> </span> <span><span><span></footer</span>></span> </span><span><span><span></div</span>></span> </span>
<span><span>.logo</span> { </span> <span>grid-area: logo; </span><span>} </span> <span><span>.main-menu</span> { </span> <span>grid-area: menu; </span><span>} </span> <span><span>.content-area</span> { </span> <span>grid-area: content; </span><span>} </span> <span><span>.sidebar</span> { </span> <span>grid-area: sidebar; </span><span>} </span> <span><span>.sponsors-wrapper</span> { </span> <span>grid-area: sponsors; </span><span>} </span> <span><span>.footer</span> { </span> <span>grid-area: footer; </span><span>} </span>
.
중간 스크린
작은 화면
<span><span>.logo</span> { </span> <span>grid-area: logo; </span><span>} </span> <span><span>.main-menu</span> { </span> <span>grid-area: menu; </span><span>} </span> <span><span>.content-area</span> { </span> <span>grid-area: content; </span><span>} </span> <span><span>.sidebar</span> { </span> <span>grid-area: sidebar; </span><span>} </span> <span><span>.sponsors-wrapper</span> { </span> <span>grid-area: sponsors; </span><span>} </span> <span><span>.footer</span> { </span> <span>grid-area: footer; </span><span>} </span>
폴백
물론, 이것은 사이트가 여전히 사용할 수 있기 때문에 세상의 끝이 아니지만 최소한 몇 가지 폴백 규칙을 추가합시다. 좋은 소식은 요소가 떠 다니고 그리드를 할당하면 그리드가 우선한다는 것입니다. 또한 디스플레이, 세로 정렬 및 기타 속성도 그리드 항목에 영향을 미치지 않으므로 그 사실을 활용 해 봅시다.
에 대한 질문이 자주 묻습니다
CSS 그리드 리트로이트는 다른 그리드 시스템과 어떻게 비교됩니까?
CSS Grid 유연성과 사용 편의성으로 인해 다른 그리드 시스템에서 개조가 두드러집니다. 광범위한 코딩 및 계산이 필요한 다른 시스템과 달리 CSS Grid Retrofit을 통해 개발자는 최소한의 코드로 복잡한 레이아웃을 만들 수 있습니다. 또한 요소의 배치 및 정렬을보다 잘 제어하여 많은 개발자에게 선호하는 선택입니다.
모바일 응답 디자인에 CSS 그리드 리트로이트를 사용할 수 있습니까? 예, CSS Grid Retrofit. 모바일 반응 형 디자인을 만드는 훌륭한 도구입니다. 이를 통해 개발자는 미디어 쿼리를 사용하여 다양한 화면 크기에 대해 다른 그리드 레이아웃을 정의 할 수 있습니다. 즉, 동일한 CSS 문서 내에서 데스크탑 뷰를위한 복잡한 레이아웃과 모바일 뷰를위한 더 간단하고 간소화 된 레이아웃을 만들 수 있습니다.예, CSS Grid Retrofit은 더 복잡한 설계를 위해 Flexbox와 같은 다른 레이아웃 방법과 결합 할 수 있습니다. 이것은 부분적으로 유연하고 부분적으로 고정 된 레이아웃을 만들려고 할 때 특히 유용 할 수 있습니다.
CSS 그리드를 사용하기위한 일부 모범 사례는 무엇입니까? 개조 된 레이아웃 관리를 위해 명명 된 그리드 영역을 사용하고, 유연한 그리드 트랙에 FR 장치를 사용하고, 브라우저의 개발자 도구에 그리드 검사관을 사용하여 그리드 레이아웃을 시각화하고 디버깅하는 것이 포함됩니다.
CSS Grid het hancoutmating은 어떻게 겹치는가? 요소?수직 레이아웃에 CSS 그리드 리트로이트를 사용할 수 있습니까?
CSS Grid Retrof와 함께 작업 할 때 일반적인 과제는 다루는 것을 포함합니다. 브라우저 호환성 문제, 겹치는 요소 처리 및 많은 그리드 영역에서 복잡한 레이아웃 관리. 그러나 실습과 그리드 특성을 잘 이해하면 이러한 과제는 극복 될 수 있습니다.
위 내용은 CSS 그리드 레이아웃을 사용하도록 사이트를 재 설계합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!