我正在创建一个1:1的正方形网格。用户可以不断地添加正方形,我希望正方形的大小保持它们的长宽比,但会相应地调整大小。麻烦的是,我希望这个正方形始终可见于页面上 - 也就是说,没有滚动条,并且网页会随着宽度和高度而响应。
我已经创建了一个示例,每秒钟添加一个正方形来测试。然而,我无法让它在高度部分工作。我已经成功让它在宽度上工作了。
我没有使用像bootstrap这样的UI库,只使用了原生的HTML、CSS和JavaScript。
我已经创建了一个示例,每秒钟添加一个正方形来测试。然而,我无法让它在高度部分工作。我已经成功让它在宽度上工作了。
setInterval(() => {
// console.log(document.getElementsByClassName('square-container')[0]);
document.getElementsByClassName('square-container')[0].innerHTML += ("<div class='square'></div>");
}, 1000);
.square-container {
display: flex;
flex-wrap: wrap;
}
.square {
position: relative;
flex-basis: calc(33.333% - 10px);
margin: 5px;
box-sizing: border-box;
background: red;
transition: background 1s;
}
.square::before {
content: "";
display: block;
padding-top: 100%;
}
<div class="square-container">
<div class="square"></div>
</div>