这段代码包含一个响应式网格。随着屏幕宽度的变化,列数会自动变化。有时候有偶数列,有时候有奇数列。当列数为奇数时,单元格会像棋盘一样交替变换颜色,但当列数为偶数时,它们不会。是否有办法实现即使是偶数列也能够呈现棋盘效果?需要使用Javascript吗,还是可以仅使用CSS完成?
body {
margin: 0;
}
.checkers {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(8em, 1fr));
padding: 1em;
gap: 1em;
}
.checkers>div {
background-color: red;
aspect-ratio: 1/1;
}
.checkers>div:nth-child(even) {
background-color: blue;
}
<div class="checkers">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
::nth-row
,目前还没有很好的CSS解决方案。 - mfluehr