代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>九宫格布局/珊栏布局</title>
<style>
* {
margin: 0;
padding: 0;
}
#wrap {
/* 清除浮动 */
overflow: hidden;
}
#wrap .item {
width: 248px;
height: 360px;
font-size: 12px;
}
#wrap .item .title {
width: 248px;
height: 30px;
line-height: 30px;
overflow: hidden;
margin-bottom: 10px;
}
.imgContainer {
width: 248px;
/* 以单元格形式显示 */
display: table-cell;
text-align: center;
}
#wrap .item .price {
color: #ff6700;
font-size: 18px;
font-weight: bold;
}
img {
width: 240px;
height: 240px;
}
</style>
</head>
<body>
<!-- 按钮组 -->
<div class="cols">
<button>3列</button>
<button>4列</button>
<button>5列</button>
</div>
<!-- 珊栏布局 -->
<div id="wrap">
<!-- 第一张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img01.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题1</p>
<!-- 价格 -->
<p class="price">¥100</p>
</div>
<!-- 第二张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img02.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题2</p>
<!-- 价格 -->
<p class="price">¥200</p>
</div>
<!-- 第三张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img03.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题3</p>
<!-- 价格 -->
<p class="price">¥300</p>
</div>
<!-- 第四张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img04.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题4</p>
<!-- 价格 -->
<p class="price">¥400</p>
</div>
<!-- 第五张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img05.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题5</p>
<!-- 价格 -->
<p class="price">¥500</p>
</div>
<!-- 第六张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img06.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题6</p>
<!-- 价格 -->
<p class="price">¥600</p>
</div>
<!-- 第七张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img07.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题7</p>
<!-- 价格 -->
<p class="price">¥700</p>
</div>
<!-- 第八张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img08.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题8</p>
<!-- 价格 -->
<p class="price">¥800</p>
</div>
<!-- 第九张 -->
<div class="item">
<!-- 图片 -->
<div class="imgContainer">
<img src="./images/img09.jpg" alt="" />
</div>
<!-- 标题 -->
<p class="title">商品标题9</p>
<!-- 价格 -->
<p class="price">¥900</p>
</div>
</div>
<script>
// 1.获取事件标签
var btns = document.getElementsByTagName("button");
var items = document.getElementsByClassName("item");
// 2. 为标签添加事件监听
// (1) 三列
btns[0].onclick = function () {
_flex(3);
};
// (2)四列
btns[1].onclick = function () {
_flex(4);
};
// (3)五列
btns[2].onclick = function () {
_flex(5);
};
function _flex(colsNum) {
// 循环遍历item
for (var i = 0; i < items.length; i++) {
items[i].style.float = "left";
items[i].parentNode.style.width =
items[i].offsetWidth * colsNum + "px";
}
}
</script>
</body>
</html>
效果:
三列
四列
五列