0
点赞
收藏
分享

微信扫一扫

如何使用 CSS flex box 和 Javascript 设计棋盘

  • 个人网站:【 海拥】【摸鱼小游戏】
  • 风趣幽默的人工智能学习网站:人工智能
  • 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群
  • 免费且实用的前端刷题(面经大全)网站:点击跳转到网站



在这篇文章中,我将展示如何使用 css 和一些 JavaScript 来设计棋盘。

为此,你需要对 CSS Flex-box 和 nth-child() 属性有基本的了解。

所以让我们开始吧......

我们将为每个偶数行添加 containerEven 类作为父容器,为每个奇数行添加 containerOdd,

下面显示了相同的 CSS

.containerEven>div:nth-child(odd) {
background-color: white;
}

.containerEven>div:nth-child(even) {
background-color: black;
}

.containerOdd>div:nth-child(odd) {
background-color: black;
}

.containerOdd>div:nth-child(even) {
background-color: white;
}

这是html部分

<div class="parent-class">
<section class="containerEven" id='container1'></section>
<section class="containerOdd" id='container2'></section>
<section class="containerEven" id='container3'></section>
<section class="containerOdd" id='container4'></section>
<section class="containerEven" id='container5'></section>
<section class="containerOdd" id='container6'></section>
<section class="containerEven" id='container7'></section>
<section class="containerOdd" id='container8'></section>
</div>

现在剩下的就是使用 javascript 在相应的 id 的帮助下在这些部分标签内动态附加元素。

var res1 = [], res2 = [], res3 = [], res4 = [], res5 = [], res6 = [], res7 = [], res8 = [];
for (i = 1; i <= 8; i++) {
res1 += `<div class="item"></div>`
res2 += `<div class="item"></div>`
res3 += `<div class="item"></div>`
res4 += `<div class="item"></div>`
res5 += `<div class="item"></div>`
res6 += `<div class="item"></div>`
res7 += `<div class="item"></div>`
res8 += `<div class="item"></div>`
}
document.getElementById(`container1`).innerHTML = res1;
document.getElementById(`container2`).innerHTML = res2;
document.getElementById(`container3`).innerHTML = res3;
document.getElementById(`container4`).innerHTML = res4;
document.getElementById(`container5`).innerHTML = res5;
document.getElementById(`container6`).innerHTML = res6;
document.getElementById(`container7`).innerHTML = res7;
document.getElementById(`container8`).innerHTML = res8;

在这里我们所做的是使用 8 个数组来存储每一行数据。当我们得到数据再将其附加到相应的容器 id,

这是带有输出的完整代码

<style>
.parent-class {
border: 5px chocolate groove;
}

.containerEven,
.containerOdd {
display: flex;
background-color: dodgerblue;
}

.item {
background-color: #f1f1f1;
padding: 20px;
font-size: 30px;
flex: 1;
height: 50px;
text-align: center;
}

.containerEven>div:nth-child(odd) {
background-color: white;
}

.containerEven>div:nth-child(even) {
background-color: black;
}

.containerOdd>div:nth-child(odd) {
background-color: black;
}

.containerOdd>div:nth-child(even) {
background-color: white;
}
</style>

<div class="parent-class">
<section class="containerEven" id='container1'></section>
<section class="containerOdd" id='container2'></section>
<section class="containerEven" id='container3'></section>
<section class="containerOdd" id='container4'></section>
<section class="containerEven" id='container5'></section>
<section class="containerOdd" id='container6'></section>
<section class="containerEven" id='container7'></section>
<section class="containerOdd" id='container8'></section>
</div>

<script>
var res1 = [], res2 = [], res3 = [], res4 = [], res5 = [], res6 = [], res7 = [], res8 = [];
for (i = 1; i <= 8; i++) {
res1 += `<div class="item"></div>`
res2 += `<div class="item"></div>`
res3 += `<div class="item"></div>`
res4 += `<div class="item"></div>`
res5 += `<div class="item"></div>`
res6 += `<div class="item"></div>`
res7 += `<div class="item"></div>`
res8 += `<div class="item"></div>`
}
document.getElementById(`container1`).innerHTML = res1;
document.getElementById(`container2`).innerHTML = res2;
document.getElementById(`container3`).innerHTML = res3;
document.getElementById(`container4`).innerHTML = res4;
document.getElementById(`container5`).innerHTML = res5;
document.getElementById(`container6`).innerHTML = res6;
document.getElementById(`container7`).innerHTML = res7;
document.getElementById(`container8`).innerHTML = res8;
</script>

如何使用 CSS flex box 和 Javascript 设计棋盘_前端

举报

相关推荐

0 条评论