Ответ 1
Не 100% уверены, что вы говорите, но давайте посмотрим.
Здесь у нас есть сетка для "tic tac toe", вы можете использовать float: left;
, чтобы поместить 9 ящиков в один контейнер, чтобы выровнять эти поля в строке (3 строки из-за width: 100px;
и общий контейнер width: 300px;
)
HTML:
<div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
CSS
div {
width: 300px;
height: 600px;
}
div div {
width: 100px;
height: 100px;
outline: 1px solid;
float: left;
}
Теперь, если нам нужна граница, например, когда вы обычно играете в игру, сделайте что-то вроде этого:
CSS
div {
width: 310px;
height: 600px;
}
div div {
width: 100px;
height: 100px;
float: left;
}
div div:nth-child(-n+3) {
border-bottom: 1px solid;
}
div div:nth-child(-n+6) {
border-bottom: 1px solid;
}
div div:nth-child(1), div:nth-child(2), div:nth-child(4), div:nth-child(5), div:nth-child(7), div:nth-child(8) {
border-right: 1px solid;
}
Обратите внимание, что его ранним утром и может быть лучше, чтобы получить этот макет, мозг не будет полностью работать. Но это способ, который будет работать.
ПРИМЕЧАНИЕ. Только что я заметил, что я установил height: 600px;
по какой-либо причине, вы можете опустить это, чтобы оно было в поле.
Update:
Ваш код с более простой сеткой:
HTML:
<h1>Tic Tac Toe</h1>
<div class="wrapper">
<div class="gameboard">
<div></div>
<div class="leftright"></div>
<div></div>
<div class="updown"></div>
<div class="middle"></div>
<div class="updown"></div>
<div></div>
<div class="leftright"></div>
<div></div>
</div>
<div class="button">
<button>New Game</button>
<button>End Game</button>
</div>
</div>
CSS
.wrapper {
width: 330px;
margin:0 auto;
}
.gameboard {
width: 330px;
height:310px;
border:3px solid white;
z-index: 1;
}
.gameboard div {
width: 100px;
height: 100px;
float: left;
}
.middle {
border: 1px solid;
}
.button {
background-color:white;
width: 160px;
margin:0 auto;
}
.updown {
border-top: 1px solid;
border-bottom: 1px solid;
}
.leftright {
border-left: 1px solid;
border-right: 1px solid;
}
Итак, чтобы вам было проще, я основал его вокруг вашего кода и поставил более удобную сетку. Используя классы, которые я сделал, чтобы установить границы, которые создают макет игрового поля.