Я пытаюсь создать сетку, которая принимает пользовательский ввод и использует его в качестве числа строк и столбцов.Другими словами, если пользователь вводит X, я хочу, чтобы сетка имела X строк и X столбцов и была квадратной, то есть поля были такими же высокими, как и широкими.
Я получил его для работы сСетка JavaScript и CSS, но только если я уже знаю количество строк / столбцов, в этом случае 10. См. Ниже.
Как я могу создать сетку, которая делает то же самое, но с любым количеством строк истолбцы?
#container {
display: grid;
grid-template-columns: repeat(10, 1fr);
width: 500px;
height: 500px;
}
div {
width: 100%;
height: 100%;
outline: 1px solid;
float: left;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>Etch-a-sketch</title>
</head>
<body>
<h1>Etch-a-sketch</h1>
<button id="start">Start</button>
<div id="container"></div>
</body>
<script>
let btn = document.getElementById("start")
btn.addEventListener("click", createGrid)
function createGrid() {
let numberOfRows = prompt("How many rows do you want?");
let i = 0;
let x = numberOfRows ** 2;
for (i; i < x; i++) {
var div = document.createElement("div");
document.getElementById("container").appendChild(div);
div.addEventListener("mouseenter", function() {
this.style.backgroundColor = "red";
});
}
}
</script>
</html>