html - 创建 CSS 网格,无需为每个单元格编写 div

标签 html css

我需要一个包含 100 个单元格的网格来制作我正在制作的战舰游戏(使用 html、css 和 JavaScript),但我不想在 html 中创建 100 个 div 来制作它。

<div class="container">
  <div class="item-1"></div>
  <div class="item-2"></div>
  <div class="item-3"></div>
  <div class="item-4"></div>
  <div class="item-5"></div>
  <div class="item-6"></div>
  ...
</div>

有没有办法可以避免这种情况,然后通过父级在 css 中访问它们?

.cell:nth-child(n) {
  //code
}

我知道一种方法可以在不使用网格的情况下解决这个问题,但这似乎是最简单的方法,如果我能克服这个问题。任何帮助将不胜感激。

最佳答案

您可以使用 Javascript 以编程方式创建它们:

var container = document.querySelector('.container')

for (var i = 0; i < 100; i++) {
  var el = document.createElement('div')
  el.classList.add('item-' + (i + 1))
  container.appendChild(el)
}

console.log(container.children.length) // 100
<div class="container"></div>

如果您在 Chrome 中按 Cmd/Ctrl+Shift+C 进行检查,您可以看到有一百个 div

它们每个都有一个等于 item-nclass 属性,其中 n1 之间的数字> 和 100

关于html - 创建 CSS 网格,无需为每个单元格编写 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64147870/

相关文章:

javascript - 插入 HTML 元素的节点

javascript - Bootstrap 3 Modal 不会显示模态标题或输入标签

javascript - 添加和删​​除类不同的元素

html - 输入类型文本的填充不显示占位符和使用 bootstrap 4 在 IE 11 中键入的文本

javascript - 如何让我的整个弹出窗口背景颜色改变

javascript - 如何使用 Jquery/Javascript 更改 RANGE Input 的轨道颜色?

html - 将 css 应用于空值

css - 谷歌字体 : How can I prevent Internet Explorer from rendering a bold font as regular?

javascript - 如何为文本区域中的每一行设置底部边框?

html - 使用最大宽度和绝对定位使流体 DIV 居中