Paano lumikha: Grid ng imahen

Matututuhan kung paano lumikha ng grid ng imahen.

Grid ng imahen

Matututuhan kung paano lumikha ng isang image gallery, kung sakaling i-click ang pindutan, maaari mong magpalit sa apat, dalawang o buong-layong imahen:

亲自試試

Lumikha ng grid ng imahen

Pangkat na unang hakbang - Magdagdag ng 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

教程:如何创建响应式图像网格