どう作成するか:画像グリッド

画像グリッドの作成方法を学びます。

画像グリッド

画像ギャラリーを作成する方法を学びます。ボタンをクリックするだけで、4枚、2枚、または全幅の画像間で切り替わります:

自分で試してみる

画像グリッドの作成

第1段 - 添加 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>

第二段階 - 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;
}

自分で試してみる

第三段階 - 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

チュートリアル:実現方法:レスポンシブ画像グリッドの作成