⊗mkPmLtMW 243 of 250 menu

CSS에서의 다중 래퍼 레이아웃 패턴

개발을 하다 보면, 블록 전체 배경은 페이지 너비에 꽉 차게 하고, 그 안의 콘텐츠는 중앙에 정렬하는 디자인 레이아웃을 자주 접하게 됩니다. 다음은 그러한 레이아웃의 예시입니다:

이러한 레이아웃에서는 하나의 래퍼(wrapper)가 아닌, 각 블록마다 여러 개의 래퍼를 만들어야 합니다. 이때 래퍼 안에는 콘텐츠를 중앙 정렬하는 또 다른 블록이 있어야 합니다. 또한, 콘텐츠에 배경색을 칠하는 역할을 하는 클래스도 있어야 합니다.

우리 레이아웃의 전체적인 구조는 다음과 같을 것입니다:

<div class="wrapper"> <div class="center"> </div> </div> <div class="wrapper line"> <div class="center"> </div> </div> <div class="wrapper"> <div class="center"> </div> </div> <div class="wrapper line"> <div class="center"> </div> </div>

center 클래스는 블록 중앙 정렬에 사용될 것입니다:

.center { width: 800px; padding: 20px; margin: 0 auto; }

line 클래스는 블록에 색상을 입히는 데 사용될 것입니다:

.wrapper.line { background-color: #008040; color: white; }

wrapper 클래스는 각 블록의 부모가 될 것입니다. 이 클래스는 블록 사이의 간격을 설정하는 데 사용합니다:

.wrapper { margin-bottom: 30px; }

이제 우리의 과제에 대한 전체 코드를 작성해 봅시다:

<div class="wrapper"> <div class="center"> <h1>Main site header</h1> </div> </div> <div class="wrapper line"> <div class="center"> <h2>Our company</h2> <p> ... </p> <p> ... </p> </div> </div> <div class="wrapper"> <div class="center"> <h2>Our price</h2> <p> ... </p> <p> ... </p> </div> </div> <div class="wrapper line"> <div class="center"> <h2>Our contacts</h2> <p> ... </p> <p> ... </p> </div> </div> * { box-sizing: border-box; } body { margin: 0; } .wrapper { margin-bottom: 30px; } .wrapper.line { background-color: #008040; color: white; } .center { width: 800px; padding: 20px; margin: 0 auto; } .wrapper h1 { margin: 0; font: 40px "Times New Roman"; } .wrapper h2 { margin: 0; font: 25px "Times New Roman"; } .wrapper p { font: 16px/1.4 Arial; text-align: justify; }
한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부