【发布时间】:2021-12-24 20:02:56
【问题描述】:
我正在尝试使用 flexbox 创建一个 16x16 的网格。我已将每 17 个元素的 width 属性设置为 100%,并将 flex-wrap 设置为 wrap 以实现此目的。但是,由于某种原因,我的代码不起作用。我的页面上没有 16x16 网格。我该如何解决这个问题?
const cdiv = document.querySelector('.container');
// Add 16 divs
for (let i = 1; i < 257; i++) {
const div = document.createElement('div');
div.style.cssText = "border: 1px solid black; height: 25px; width: 25px";
cdiv.appendChild(div);
}
* {
box-sizing: border-box;
}
.container {
display: flex;
flex-wrap: wrap;
}
.container>div:nth-child((16n + 1)) {
width: 100% !important;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Etch-a-Sketch</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container"></div>
<script src="script.js"></script>
</body>
</html>
【问题讨论】:
-
什么不起作用?
-
我没有得到想要的 16x16 网格@Sfili_81
-
请使用 SO sn-p 添加一个工作示例,以便我们检查哪些不工作
-
@Sfili_81 什么是 SO sn-p 以及如何添加它?
-
检查
.container>div:nth-child((16n + 1))是否错误。试试这个.container>div:nth-child(16n + 1)