CSS:画布无法正确调整大小且无法分层
CSS: Canvases won't size correctly and won't layer
所以我有两种 canvas 麻烦。
问题 1:canvases 大小不正确
我正在尝试制作一小堆漂亮的白色盒子,但它们无法根据 div.
正确调整自己的大小
看到它们如何超出绿色矩形底部太远了吗?它们应该恰好适合填充边框。他们为什么不这样做??
这是我的 HTML:
<div id="behindAll">
<div id="dotTextList">
<canvas id="dotCanvas1" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas2" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas3" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas4" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas5" class="dotTextCanvas"></canvas>
</div>
</div>
这是我的 CSS:
#behindAll {
box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
background: red;
width: 100%;
height: 100%;
padding: 10px;
}
#dotTextList {
box-sizing: border-box;
background: green;
width: 100%;
height: 100%;
padding: 10px;
}
.dotTextCanvas {
box-sizing: border-box;
height: 20%;
width:100%;
background-color: white;
}
我已经将小白框定义为其父方框的 20%,因此它们应该玩得很好,但事实并非如此。
问题2:canvases不会分层
最后,我想让五个白色的 canvases 在大背景前画自己 canvas。
这是我的 HTML:
<div id="behindAll">
<canvas id="backgroundCanvas" />
<div id="dotTextList">
<canvas id="dotCanvas1" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas2" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas3" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas4" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas5" class="dotTextCanvas"></canvas>
</div>
</div>
还有我的CSS:
#behindAll {
box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
background: red;
width: 100%;
height: 100%;
padding: 10px;
}
#backgroundCanvas {
z-index: 5;
box-sizing: border-box;
background: blue;
width: 100%;
height: 100%;
padding: 10px;
}
#dotTextList {
box-sizing: border-box;
background: green;
width: 100%;
height: 100%;
padding: 10px;
}
.dotTextCanvas {
z-index: 9;
box-sizing: border-box;
height: 20%;
width:100%;
background-color: white;
}
结果如下:
白框不见了!
我调换了事物的顺序,我尝试了 z-indexes(如您所见),但我似乎无法获得那些白框 a) 正确的大小和 b) 绘图在蓝色方框前。
感谢所有帮助!
这导致了您的问题 trouble2:
(去掉这个)
<canvas id="backgroundCanvas" />
抱歉,请使用这个
<div id="behindAll">
<canvas id="backgroundCanvas">
<div id="dotTextList">
<canvas id="dotCanvas1" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas2" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas3" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas4" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas5" class="dotTextCanvas"></canvas>
</div>
</canvas>
</div>
还有这个
#backgroundCanvas {
box-sizing: border-box;
background: blue;
width: 100%;
height: 100%;
padding: 10px;
}
.dotTextCanvas {
box-sizing: border-box;
height: 20%;
width:100%;
background-color: white;
}
麻烦1:
(设置这个)
.dotTextCanvas {
box-sizing: border-box;
height: calc((100% - 20px)/5);
}
所以我有两种 canvas 麻烦。
问题 1:canvases 大小不正确
我正在尝试制作一小堆漂亮的白色盒子,但它们无法根据 div.
正确调整自己的大小看到它们如何超出绿色矩形底部太远了吗?它们应该恰好适合填充边框。他们为什么不这样做??
这是我的 HTML:
<div id="behindAll">
<div id="dotTextList">
<canvas id="dotCanvas1" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas2" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas3" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas4" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas5" class="dotTextCanvas"></canvas>
</div>
</div>
这是我的 CSS:
#behindAll {
box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
background: red;
width: 100%;
height: 100%;
padding: 10px;
}
#dotTextList {
box-sizing: border-box;
background: green;
width: 100%;
height: 100%;
padding: 10px;
}
.dotTextCanvas {
box-sizing: border-box;
height: 20%;
width:100%;
background-color: white;
}
我已经将小白框定义为其父方框的 20%,因此它们应该玩得很好,但事实并非如此。
问题2:canvases不会分层
最后,我想让五个白色的 canvases 在大背景前画自己 canvas。
这是我的 HTML:
<div id="behindAll">
<canvas id="backgroundCanvas" />
<div id="dotTextList">
<canvas id="dotCanvas1" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas2" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas3" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas4" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas5" class="dotTextCanvas"></canvas>
</div>
</div>
还有我的CSS:
#behindAll {
box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
background: red;
width: 100%;
height: 100%;
padding: 10px;
}
#backgroundCanvas {
z-index: 5;
box-sizing: border-box;
background: blue;
width: 100%;
height: 100%;
padding: 10px;
}
#dotTextList {
box-sizing: border-box;
background: green;
width: 100%;
height: 100%;
padding: 10px;
}
.dotTextCanvas {
z-index: 9;
box-sizing: border-box;
height: 20%;
width:100%;
background-color: white;
}
结果如下:
白框不见了!
我调换了事物的顺序,我尝试了 z-indexes(如您所见),但我似乎无法获得那些白框 a) 正确的大小和 b) 绘图在蓝色方框前。
感谢所有帮助!
这导致了您的问题 trouble2:
(去掉这个)
<canvas id="backgroundCanvas" />
抱歉,请使用这个
<div id="behindAll">
<canvas id="backgroundCanvas">
<div id="dotTextList">
<canvas id="dotCanvas1" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas2" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas3" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas4" class="dotTextCanvas"></canvas>
<canvas id="dotCanvas5" class="dotTextCanvas"></canvas>
</div>
</canvas>
</div>
还有这个
#backgroundCanvas {
box-sizing: border-box;
background: blue;
width: 100%;
height: 100%;
padding: 10px;
}
.dotTextCanvas {
box-sizing: border-box;
height: 20%;
width:100%;
background-color: white;
}
麻烦1:
(设置这个)
.dotTextCanvas {
box-sizing: border-box;
height: calc((100% - 20px)/5);
}