У меня есть вопрос об изменении размера / рисовании игровой доски в зависимости от размера используемого окна или браузера.Я кодирую реверси игры, используя html / css / js.Будет прикреплено изображение того, чего я хочу достичь.Сама игровая доска имеет ту же высоту, что и информация, отображаемая справа от нее.Я хотел бы, чтобы он составлял, например, 70% высоты окна, чтобы у меня оставались 30% для создания границы и т. Д. В HTML я определил таблицу с идентификатором 'board-table', а затем попытался создать переменную«Размер», чтобы определить высоту этой таблицы.В CSS я указал, что высота должна быть 70%, чтобы потом можно было нарисовать игровое поле.Тем не менее, он всегда имеет префиксный размер, когда я перезагружаю страницу в разных измерениях, и поэтому мне было интересно, как я могу это исправить.Часть моего кода показана ниже.
HTML:
<table id="board-table"></table>
CSS:
#board-table {
height: 70%;
}
Javascript:
function draw() {
var size = $('#board-table').height();
var square = (1/8) * size;
var half = (1/2) * square;
for (var y = 0; y < 8; y++) {
for (var x = 0; x < 8; x++) {
var canvas = $("#canv_" + x + "" + y)[0]
var ctx = canvas.getContext("2d")
if (game.board[x][y] == 1) {
ctx.fillStyle = "green"
ctx.fillRect(0, 0, square, square)
ctx.beginPath()
ctx.fillStyle = "white"
ctx.arc(half, half, half, 0, 2 * Math.PI)
ctx.fill()
} else if (game.board[x][y] == 2) {
ctx.fillStyle = "green"
ctx.fillRect(0, 0, square, square)
ctx.beginPath()
ctx.fillStyle = "black"
ctx.arc(half, half, half, 0, 2 * Math.PI)
ctx.fill()
} else {
ctx.fillStyle = "green"
ctx.fillRect(0, 0, square, square)
}
}
}
}
function generateBoard() {
for (var y = 0; y < 8; y++) {
$("#board-table").append("<tr id=row" + y + "" + "><tr")
for (var x = 0; x < 8; x++) {
$("#row" + y).append("<td id=cell_" + x + "" + y + "></td>")
$("#cell_" + x + "" + y).append("<canvas height=100% onclick=handleclick(" + x + "," + y + ") onmouseover=handlehover(" + x + "," + y + ") width =100% id=canv_" + x + "" + y + "></canvas>")
}
}
}
Пример того, чего я пытаюсь достичь.