我怎样才能使这些 div 增长以填充其容器的大小?
How can I make these divs grow to fill the size of their container?
我正在尝试编写一个函数,它接受用户输入来创建网格(16x16、32x32 等)。我遇到的问题是让附加的 div 正确缩放到容器。
这是它的样子:
function createGrid(input) {
const gridContainer = document.querySelector('.gridContainer');
for (let i = 0; i < input; i++) {
const row = document.createElement('div');
row.className = 'row';
for (let j = 1; j <= input; j++) {
const pixel = document.createElement('div');
pixel.className = 'pixel';
row.appendChild(pixel);
}
gridContainer.appendChild(row);
}
}
body {
height: 100vh;
}
.pixel {
flex: 1;
min-width: 8px;
min-height: 8px;
border: 0.1px solid black;
}
.gridContainer {
display: flex;
flex-direction: row;
width: 600px;
height: 600px;
border: 2px solid red;
flex-wrap: wrap;
justify-content: center;
align-content: center;
align-items: stretch;
}
<div class="gridContainer">
</div>
<input class="gridSize" type="number">
我认为向 div 添加具有最小宽度和高度的 flex 1 可以解决问题,所以我一定在这里遗漏了一些东西。 (我是菜鸟所以如果这是一个超级简单的修复我提前道歉)。
我相信这就是您正在寻找的CSS:
body {
height: 100vh;
}
.row {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.pixel {
flex: 1;
min-width: 8px;
min-height: 8px;
border: 0.1px solid black;
}
.gridContainer {
display: flex;
flex-direction: row;
width: 600px;
height: 600px;
border: 2px solid red;
flex-wrap: nowrap;
justify-content: space-between;
align-content: stretch;
}
总之.gridContainer
和.row
类有一些调整。
我正在尝试编写一个函数,它接受用户输入来创建网格(16x16、32x32 等)。我遇到的问题是让附加的 div 正确缩放到容器。
这是它的样子:
function createGrid(input) {
const gridContainer = document.querySelector('.gridContainer');
for (let i = 0; i < input; i++) {
const row = document.createElement('div');
row.className = 'row';
for (let j = 1; j <= input; j++) {
const pixel = document.createElement('div');
pixel.className = 'pixel';
row.appendChild(pixel);
}
gridContainer.appendChild(row);
}
}
body {
height: 100vh;
}
.pixel {
flex: 1;
min-width: 8px;
min-height: 8px;
border: 0.1px solid black;
}
.gridContainer {
display: flex;
flex-direction: row;
width: 600px;
height: 600px;
border: 2px solid red;
flex-wrap: wrap;
justify-content: center;
align-content: center;
align-items: stretch;
}
<div class="gridContainer">
</div>
<input class="gridSize" type="number">
我认为向 div 添加具有最小宽度和高度的 flex 1 可以解决问题,所以我一定在这里遗漏了一些东西。 (我是菜鸟所以如果这是一个超级简单的修复我提前道歉)。
我相信这就是您正在寻找的CSS:
body {
height: 100vh;
}
.row {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.pixel {
flex: 1;
min-width: 8px;
min-height: 8px;
border: 0.1px solid black;
}
.gridContainer {
display: flex;
flex-direction: row;
width: 600px;
height: 600px;
border: 2px solid red;
flex-wrap: nowrap;
justify-content: space-between;
align-content: stretch;
}
总之.gridContainer
和.row
类有一些调整。