html - Canvas 将其他 flexbox 项推送到容器外
问题描述
我正在为移动和网络创建一个绘图应用程序。UI 结构如附加的代码示例中所示。我希望画布占用最大可能的空间,而不会将其他内容推到父 flexbox 之外。目前,当我将窗口从纵向模式调整为横向模式时,画布会增长并将其他框推出视图。
首选 codepen 来检查输出,因为可以在那里轻松调整输出窗口的大小。
body {
margin: 0;
padding: 0;
}
.root {
height: 100vh;
width: 100vw;
display: flex;
flex-direction: column;
overflow: hidden;
}
.header {
flex: 0 0 60px;
background: #ff9;
}
.box1 {
flex: 0 0 20px;
background: #f9f;
}
canvas {
background: black;
max-width: 100%;
max-height: 100%;
}
.canvas-box {
flex: 1 1 400px;
background: #f99;
display: flex;
align-items: center;
justify-content: space-evenly;
}
.box3 {
flex: 0 0 150px;
background: #9ff;
}
.box4 {
flex: 0 0 20px;
background: #9f9;
}
.in-box1 {
flex: 0 0 40px;
height: 100%;
background: #ff0;
}
.in-box2 {
flex: 1 1;
background: #fff;
}
.in-box3 {
flex: 0 0 40px;
height: 100%;
background: #0ff;
}
<div class="root">
<div class="header"></div>
<div class="box1"></div>
<div class="canvas-box">
<div class="in-box1"></div>
<div class="in-box2">
<canvas width="1000" height="1000" />
</div>
<div class="in-box3"></div>
</div>
<div class="box3"></div>
<div class="box4"></div>
</div>
Codepen 链接:https ://codepen.io/80avin/pen/oNxWyje
解决方案
推荐阅读
- sql - 有没有办法在不选择 columnName 两次的情况下执行 SELECT to_char(t.columnName, Format), t.* FROM Table t?
- alfresco - alfresco 在最后一个索引处向文档库添加新操作
- javascript - 如何在 ExpressJS 中使用 JSON 数据呈现 HTML 页面
- mdc-components - 从按钮打开 MDCMenu
- python - 如何使用按钮指向现有 url
- c++ - 在父类中为多个孩子定义方法
- reactjs - 无法分配给“postCount”,因为它是只读属性。ts(2540) spfx
- powershell - 在 slack 上发布图像时获取“invalid_form_data”
- css - 如何用白色背景颜色但宽度较低且居中填充 div?
- css - 相关产品块图像的 Magento 2 样式背后的基本原理是什么?