만드는 방법: 이미지 그리드

이미지 그리드를 만드는 방법을 배우세요.

이미지 그리드

이미지 갤러리를 만들어 보는 방법을 배우세요. 버튼을 클릭하면 네 장, 두 장 또는 전체 너비 이미지 사이에서 전환할 수 있습니다:

직접 시험해 보세요

이미지 그리드 생성

첫 단계 - HTML 추가:

<div class="row">
  <div class="column">
    <img src="wedding.jpg">
    <img src="rocks.jpg">
    <img src="falls2.jpg">
    <img src="paris.jpg">
    <img src="nature.jpg">
    <img src="mist.jpg">
    <img src="paris.jpg">
  </div>
  <div class="column">
    <img src="underwater.jpg">
    <img src="ocean.jpg">
    <img src="wedding.jpg">
    <img src="mountainskies.jpg">
    <img src="rocks.jpg">
    <img src="underwater.jpg">
  </div>
  <div class="column">
    <img src="wedding.jpg">
    <img src="rocks.jpg">
    <img src="falls2.jpg">
    <img src="paris.jpg">
    <img src="nature.jpg">
    <img src="mist.jpg">
    <img src="paris.jpg">
  </div>
  <div class="column">
    <img src="underwater.jpg">
    <img src="ocean.jpg">
    <img src="wedding.jpg">
    <img src="mountainskies.jpg">
    <img src="rocks.jpg">
    <img src="underwater.jpg">
  </div>
</div>

제2단계 - CSS 추가:

CSS Flexbox를 사용하여 레이아웃을 생성합니다:

.row {
  display: flex;
  flex-wrap: wrap;
  padding: 0 4px;
}
/* 두 개의 가로로 배치된 동일한 열을 생성합니다 */
.column {
  flex: 50%;
  padding: 0 4px;
}
.column img {
  margin-top: 8px;
  vertical-align: middle;
}

직접 시험해 보세요

제3단계 - JavaScript 추가:

JavaScript를 사용하여 제어 가능한 그리드 뷰를 생성합니다:

<button onclick="one()">1</button>
<button onclick="two()">2</button>
<button onclick="four()">4</button>
<script>
// class="column"의 요소를 가져옵니다
var elements = document.getElementsByClassName("column");
// "루프" 변수를 선언합니다
var i;
// 전체 너비 이미지
function one() {
  for (i = 0; i < elements.length; i++) {
    elements[i].style.flex = "100%";
  }
}
// 두 장의 가로로 배치된 이미지
function two() {
  for (i = 0; i < elements.length; i++) {
    elements[i].style.flex = "50%";
  }
}
// 네 장의 가로로 배치된 이미지
function four() {
  for (i = 0; i < elements.length; i++) {
    elements[i].style.flex = "25%";
  }
}
</script>

직접 시험해 보세요

관련 페이지

강의:CSS Flexbox

강의:어떻게 생성할 수 있습니까: 반응형 이미지 그리드