【发布时间】:2017-07-02 05:09:13
【问题描述】:
我有一个画布元素,我想成为一个正方形 - 宽度设置为等于高度。
这很好用,但是当我在显示器上尽可能扩大窗口高度时,宽度的相应增长会将同级画布元素推离屏幕并出现水平滚动条。
我想在动态调整其他画布大小的同时保持对这个中心画布的大小控制——如果它们离开屏幕,则缩小。
<html>
<center>
<body bgcolor="#4c5959">
<link rel="stylesheet" href="style.css">
<center>
<div class="container">
<canvas id="info" class="panel"></canvas>
<canvas id="board" class="panel"></canvas>
<canvas id="actions" class="panel"></canvas>
</div>
let board = document.getElementById("board");
function resize() {
var height = window.innerHeight;
var ratio = board.width/board.height;
board.width = height;
board.height = height;
board.style.width = height+'px';
board.style.height = height+'px';
window.display.w = height;;
window.display.h = height;
}
window.addEventListener('load', resize, false);
window.addEventListener('resize', resize, false);
</script>
.container {
display:flex;
height:100%;
width:100%;
}
.panel {
display:flex;
}
#board {
width:50%;
height:100%;
background:#9b59b6;
}
#info {
width:25%;
height:100%;
background:#3498db;
}
#actions {
width:25%;
height:100%;
background:#1abc9c;
}
我怎样才能做到这一点?我尝试在外部容器中使用flex-basis, flex-growth, display:inline-flex,但没有结果。
【问题讨论】:
标签: javascript html css flexbox