总体html和css样式
<div class="box" ref="boxRef">
<div class="saizi one">
<div class="dot dot-red"></div>
</div>
<div class="saizi two">
<div class="dot"></div>
<div class="dot"></div>
</div>
<div class="saizi three">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
<div class="saizi four">
<div class="dot dot-red"></div>
<div class="dot dot-red"></div>
<div class="dot dot-red"></div>
<div class="dot dot-red"></div>
</div>
<div class="saizi five">
<div class="row">
<div class="dot"></div>
<div class="dot"></div>
</div>
<div class="row">
<div class="dot"></div>
</div>
<div class="row">
<div class="dot"></div>
<div class="dot"></div>
</div>
</div>
<div class="saizi six">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
</div>
.box {
width: 100%;
display: flex;
flex-wrap: wrap;
.saizi {
width: 400px;
height: 400px;
padding: 50px;
box-sizing: border-box;
border-radius: 25px;
display: flex;
box-shadow: inset 0 0 20px rgba(0,0,0,.5);
margin-top: 10px;
margin-left: 15px;
.dot {
width: 90px;
height: 90px;
background: #000;
border-radius: 50%;
color: #fff;
}
.dot-red {
background: red;
}
}
一个点
.one {
justify-content: center;
align-items: center;
}
两个点
.two {
justify-content: space-between;
.dot:nth-child(2) {
align-self: flex-end;
}
}
三个点
.three {
.dot:nth-child(2) {
align-self: center;
}
.dot:nth-child(3) {
align-self: flex-end;
}
}
四个点
.four {
flex-wrap: wrap;
gap: 116px;
}
五个点
.five {
justify-content: space-between;
flex-direction: column;
.row {
display: flex;
justify-content: space-between;
}
.row:nth-child(2) {
justify-content: center;
}
}
六个点
.six {
justify-content: space-between;
flex-wrap: wrap;
gap: 13px 116px;
}
实现效果图
