⊗mkSpRsTl 126 of 128 menu

CSS에서 여백 없는 반응형 타일 레이아웃

화면 너비에 따라 행당 블록 수가 변하는 타일 레이아웃을 만들어 봅시다. 다음은 우리가 얻어야 할 결과의 예시입니다:

먼저 HTML 코드를 작성해 봅시다:

<div class="parent"> <div class="child">1</div> <div class="child">2</div> <div class="child">3</div> <div class="child">4</div> <div class="child">5</div> <div class="child">6</div> <div class="child">7</div> <div class="child">8</div> <div class="child">9</div> <div class="child">10</div> <div class="child">11</div> <div class="child">12</div> </div>

이제 블록들의 부모에 스타일을 추가해 보겠습니다:

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; }

이제 너비를 설정하지 않고 블록 자체에 스타일을 지정해 보겠습니다:

.child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; }

분명히 블록의 너비는 화면이 변경될 때 블록이 부드럽게 너비를 변경할 수 있도록 백분율이어야 합니다. 동시에 화면의 특정 지점에서 행에 특정 수의 블록이 맞도록 블록 너비를 변경해야 합니다.

행당 네 개의 블록을 배치하는 코드를 작성해 봅시다:

@media (min-width: 1000px) { .child { width: 25%; } }

이제 행당 세 개의 블록을 배치해 봅시다:

@media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } }

이제 행당 두 개의 블록을 배치해 봅시다:

@media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } }

행당 하나의 블록:

@media (max-width: 400px) { .child { width: 100%; } }

모든 코드를 하나로 모아봅시다:

.parent { display: flex; flex-wrap: wrap; width: 95%; margin: 50px auto; } .child { box-sizing: border-box; height: 100px; padding: 20px; border: 1px solid green; } @media (max-width: 400px) { .child { width: 100%; } } @media (min-width: 400px) and (max-width: 700px) { .child { width: 50%; } } @media (min-width: 700px) and (max-width: 1000px) { .child { width: 33.3333%; } } @media (min-width: 1000px) { .child { width: 25%; } }

블록 너비가 calc 함수를 통해 계산되도록 내 코드를 수정하세요.

화면이 줄어들 때 먼저 행당 네 개의 요소, 그 다음 행당 두 개의 요소, 그리고 마지막으로 행당 하나의 요소를 표시하는 타일 레이아웃을 만드세요.

화면이 줄어들 때 먼저 행당 여섯 개의 요소, 그 다음 행당 세 개의 요소, 그리고 마지막으로 행당 하나의 요소를 표시하는 타일 레이아웃을 만드세요.

한국어
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
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부