Flex
и grid
, если вы можете использовать их, могут вам помочь.
пример с дополнительным тегом для знака + , если он один:
/* color for blocks */
.red {
background: #f00;
}
.orange {
background: #f80;
}
.yellow {
background: #ff0;
}
.green {
background: #0f0;
}
.cyan {
background: #0ff;
}
.blue {
background: #00f;
}
.purple {
background: #f0f;
}
.block3_area>div {
display: grid;
grid-template-columns: repeat(3, 1fr);
width: max-content;
grid-row: 1;
}
.block3_area>div>div {
width: 3em;
height: 3em;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 0 1px white;
}
.block3_area>div.middle {
grid-row: 2;
grid-column: 2;
width: min-content;
text-align: center;
justify-content: center;
color: white;
font-size: 50px;
line-height: 25px;
}
.block3_area>div.middle~div {
grid-row: 3;
}
.block3_area> :nth-child(2),
.block3_area> :nth-child(5) {
grid-column: 3;
}
.block3_area {
background: rgb(0, 192, 255);
display: grid;
grid-template-columns: repeat(2, auto);
grid-template-rows: repeat(3, auto);
margin: auto;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
background: rgb(0, 128, 0);
}
<!-- game 3 -->
<div class="block3_area">
<div class="block3_grid grid_tl">
<!-- top left grid, top row -->
<div id="block_3_1_1" class="game3block bl3top red">TL-1</div>
<div id="block_3_1_1" class="game3block bl3top red">TL-2</div>
<div id="block_3_1_1" class="game3block bl3top red">TL-3</div>
<!-- top left grid, middle row -->
<div id="block_3_1_1" class="game3block bl3mid red">TL-4</div>
<div id="block_3_1_1" class="game3block bl3mid red">TL-5</div>
<div id="block_3_1_1" class="game3block bl3mid red">TL-6</div>
<!-- top left grid, bottom row -->
<div id="block_3_1_1" class="game3block bl3bot red">TL-7</div>
<div id="block_3_1_1" class="game3block bl3bot red">TL-8</div>
<div id="block_3_1_1" class="game3block bl3bot red">TL-9</div>
</div>
<div class="block3_grid grid_tr">
<!-- top right grid, top row -->
<div id="block_3_2_1" class="game3block green">TR-1</div>
<div id="block_3_2_1" class="game3block green">TR-2</div>
<div id="block_3_2_1" class="game3block green">TR-3</div>
<!-- top right grid, middle row -->
<div id="block_3_2_1" class="game3block green">TR-4</div>
<div id="block_3_2_1" class="game3block green">TR-5</div>
<div id="block_3_2_1" class="game3block green">TR-6</div>
<!-- top right grid, bottom row -->
<div id="block_3_2_1" class="game3block green">TR-7</div>
<div id="block_3_2_1" class="game3block green">TR-8</div>
<div id="block_3_2_1" class="game3block green">TR-9</div>
</div>
<div class="middle">+</div>
<div class="block3_grid grid_bl">
<!-- bottom left grid, top row -->
<div id="block_3_3_1" class="game3block blue">BL-1</div>
<div id="block_3_3_1" class="game3block blue">BL-2</div>
<div id="block_3_3_1" class="game3block blue">BL-3</div>
<!-- bottom left grid, middle row -->
<div id="block_3_3_1" class="game3block blue">BL-4</div>
<div id="block_3_3_1" class="game3block blue">BL-5</div>
<div id="block_3_3_1" class="game3block blue">BL-6</div>
<!-- bottom left grid, bottom row -->
<div id="block_3_3_1" class="game3block blue">BL-7</div>
<div id="block_3_3_1" class="game3block blue">BL-8</div>
<div id="block_3_3_1" class="game3block blue">BL-9</div>
</div>
<div class="block3_grid grid_br">
<!-- bottom left grid, top row -->
<div id="block_3_4_1" class="game3block yellow">BR-1</div>
<div id="block_3_4_1" class="game3block yellow">BR-2</div>
<div id="block_3_4_1" class="game3block yellow">BR-3</div>
<!-- bottom left grid, middle row -->
<div id="block_3_4_1" class="game3block yellow">BR-4</div>
<div id="block_3_4_1" class="game3block yellow">BR-5</div>
<div id="block_3_4_1" class="game3block yellow">BR-6</div>
<!-- bottom left grid, bottom row -->
<div id="block_3_4_1" class="game3block yellow">BR-7</div>
<div id="block_3_4_1" class="game3block yellow">BR-8</div>
<div id="block_3_4_1" class="game3block yellow">BR-9</div>
</div>
</div>
https://codepen.io/gc-nomade/pen/LYVOqKV
или знак плюса, нарисованный на заднем плане, если он только о дизайне:
/* color for blocks */
.red {
background: #f00;
}
.orange {
background: #f80;
}
.yellow {
background: #ff0;
}
.green {
background: #0f0;
}
.cyan {
background: #0ff;
}
.blue {
background: #00f;
}
.purple {
background: #f0f;
}
.block3_area>div {
display: grid;
grid-template-columns: repeat(3, 1fr);
width: max-content;
grid-row: 1;
grid-column: 1;
}
.block3_area>div>div {
width: 3em;
height: 3em;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 0 1px white;
}
.block3_area> :nth-child(2n) {
grid-column: 2;
}
.block3_area> :nth-child(2)~div {
grid-row: 2;
}
.block3_area {
background: linear-gradient(white, white) no-repeat center center, linear-gradient(white, white) no-repeat center center rgb(0, 192, 255);
background-size: 2px 2em, 2em 2px;
display: grid;
grid-template-columns: repeat(2, auto);
grid-template-rows: repeat(2, auto);
margin: auto;
grid-gap: 1.5em;
}
body {
margin: 0;
min-height: 100vh;
display: flex;
background: rgb(0, 128, 0);
}
<!-- game 3 -->
<div class="block3_area">
<div class="block3_grid grid_tl">
<!-- top left grid, top row -->
<div id="block_3_1_1" class="game3block bl3top red">TL-1</div>
<div id="block_3_1_1" class="game3block bl3top red">TL-2</div>
<div id="block_3_1_1" class="game3block bl3top red">TL-3</div>
<!-- top left grid, middle row -->
<div id="block_3_1_1" class="game3block bl3mid red">TL-4</div>
<div id="block_3_1_1" class="game3block bl3mid red">TL-5</div>
<div id="block_3_1_1" class="game3block bl3mid red">TL-6</div>
<!-- top left grid, bottom row -->
<div id="block_3_1_1" class="game3block bl3bot red">TL-7</div>
<div id="block_3_1_1" class="game3block bl3bot red">TL-8</div>
<div id="block_3_1_1" class="game3block bl3bot red">TL-9</div>
</div>
<div class="block3_grid grid_tr">
<!-- top right grid, top row -->
<div id="block_3_2_1" class="game3block green">TR-1</div>
<div id="block_3_2_1" class="game3block green">TR-2</div>
<div id="block_3_2_1" class="game3block green">TR-3</div>
<!-- top right grid, middle row -->
<div id="block_3_2_1" class="game3block green">TR-4</div>
<div id="block_3_2_1" class="game3block green">TR-5</div>
<div id="block_3_2_1" class="game3block green">TR-6</div>
<!-- top right grid, bottom row -->
<div id="block_3_2_1" class="game3block green">TR-7</div>
<div id="block_3_2_1" class="game3block green">TR-8</div>
<div id="block_3_2_1" class="game3block green">TR-9</div>
</div>
<div class="block3_grid grid_bl">
<!-- bottom left grid, top row -->
<div id="block_3_3_1" class="game3block blue">BL-1</div>
<div id="block_3_3_1" class="game3block blue">BL-2</div>
<div id="block_3_3_1" class="game3block blue">BL-3</div>
<!-- bottom left grid, middle row -->
<div id="block_3_3_1" class="game3block blue">BL-4</div>
<div id="block_3_3_1" class="game3block blue">BL-5</div>
<div id="block_3_3_1" class="game3block blue">BL-6</div>
<!-- bottom left grid, bottom row -->
<div id="block_3_3_1" class="game3block blue">BL-7</div>
<div id="block_3_3_1" class="game3block blue">BL-8</div>
<div id="block_3_3_1" class="game3block blue">BL-9</div>
</div>
<div class="block3_grid grid_br">
<!-- bottom left grid, top row -->
<div id="block_3_4_1" class="game3block yellow">BR-1</div>
<div id="block_3_4_1" class="game3block yellow">BR-2</div>
<div id="block_3_4_1" class="game3block yellow">BR-3</div>
<!-- bottom left grid, middle row -->
<div id="block_3_4_1" class="game3block yellow">BR-4</div>
<div id="block_3_4_1" class="game3block yellow">BR-5</div>
<div id="block_3_4_1" class="game3block yellow">BR-6</div>
<!-- bottom left grid, bottom row -->
<div id="block_3_4_1" class="game3block yellow">BR-7</div>
<div id="block_3_4_1" class="game3block yellow">BR-8</div>
<div id="block_3_4_1" class="game3block yellow">BR-9</div>
</div>
</div>
https://codepen.io/gc-nomade/pen/dyoZaBG
, если вы не знакомы с grid и flex, эти ссылки могут быть вам полезны :