首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JavaScript创建4行7列的网格?

如何使用JavaScript创建4行7列的网格?
EN

Stack Overflow用户
提问于 2021-11-24 17:58:20
回答 1查看 408关注 0票数 0

我是JavaScript的新手,需要一些帮助!

我试图创建一个类似键盘的东西:创建一个网格,然后插入带有字母字母的引导按钮。我希望它是4行,每一行有7列。我试着只创建一行,包含多个列,但它不起作用,它只创建了一行和一个列。我该怎么解决这个问题?

HTML:

代码语言:javascript
复制
<div class="row justify-content-center container" id="buttons-space"></div>

JavaScript:

代码语言:javascript
复制
var alphabet =["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];

function createKeyboard() {
  var space = document.getElementById("buttons-space");
  var row = document.createElement("div");
  row.id = "first-row";
  row.className = "row container";
  space.appendChild(row); 
  for (var i = 1; i <= 7; ++i) {
    var col = document.createElement("div");
    col.className = "col-1 my-2 mx-2";
    document.getElementById("first-row").appendChild(col); 
    var button = document.createElement("button");
    button.className = "btn btn-warning";
    button.style = "height: 40px; width: 40px";
    button.id = alphabet[i];
    button.innerText = alphabet[i];
    col.appendChild(button);
  }
}

我必须只使用JavaScript,而不是CSS。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-24 18:31:40

代码语言:javascript
复制
const alphabet = Array(26).fill(0).map((x,i)=>String.fromCharCode(i+97));

document.querySelector('.grid-container').innerHTML = alphabet.map(alpha=>`<div class="grid-item">${alpha}</div>`).join('');
代码语言:javascript
复制
.grid-container {
  display: grid;
  grid-template-columns: repeat(7, 20px);
  background-color: #2196F3;
  padding: 2px;
}
.grid-item {
  background-color: rgba(255, 255, 255, 0.8);
  border: 1px solid rgba(0, 0, 0, 0.8);
  padding: 2px;
  font-size: 15px;
  text-align: center;
}
代码语言:javascript
复制
<div class="grid-container">
</div>

我希望它是4行,每一行有7列

动态使用属性网格模板列将为每一行提供7 cols。来自w3schools的例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70100875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档