如何让文本浮动到canvas的右边?
How to make text float to the right of a canvas?
我一直在尝试使文本框(固定大小)直接出现在 canvas 的右侧(向右浮动会使它向右移动太远),但没有取得太大成功.截至目前,文本框一直直接出现在 canvas.
上方
HTML:
<body>
<div class="wrapper">
<div class="labelMaker"><label>Labs:</label></div>
<canvas id="can" width="680" height="485"></canvas>
</div>
</body>
CSS:
.labelMaker {
border:solid;
width:150px;
height:100;
}
.wrapper canvas {
margin-right:15px;
float:left;
}
有什么解决这个问题的建议吗?此外,我正在考虑在 canvas 和文本框上方放置一个 header,但担心如果我使用不同尺寸的不同设备,这会影响 canvas 上的坐标,或者zoomed in/out 因为如果缩放太多,文本会换行。这真的是个问题吗?
您可以在父元素上使用 display: flex;
,然后在 canvas 上使用 order: -1;
,使其成为容器中的第一个元素。还将 .labelMaker
的 border/width/height 应用到 .labelMaker label
,并分配 display: block;
,这样它会创建比内联元素更好的布局。
canvas {
background: #ccc;
}
.labelMaker label {
border: solid;
display: block;
width: 150px;
height: 100;
}
.wrapper canvas {
margin-right: 15px;
}
.wrapper {
display: flex;
}
canvas {
order: -1;
}
<div class="wrapper">
<div class="labelMaker"><label>Labs:</label></div>
<canvas id="can" width="680" height="485"></canvas>
</div>
<body>
<div id="left" style="float:left; margin-right: 5px;">
<canvas id="can" width="680" height="485"></canvas>
</div>
<div id="left" style="float:left;">
<div class="labelMaker"><label>Labs:</label></div>
</div>
<div style="clear:both;"></div>
</body>
<style type="text/css">
.labelMaker{
border:solid;
width:150px;
height:100;
right: 170px;
display: inline-block;
float: right;
position: relative;
}
.wrapper canvas {
margin-right:180px;
float:left;
}
</style>
我一直在尝试使文本框(固定大小)直接出现在 canvas 的右侧(向右浮动会使它向右移动太远),但没有取得太大成功.截至目前,文本框一直直接出现在 canvas.
上方HTML:
<body>
<div class="wrapper">
<div class="labelMaker"><label>Labs:</label></div>
<canvas id="can" width="680" height="485"></canvas>
</div>
</body>
CSS:
.labelMaker {
border:solid;
width:150px;
height:100;
}
.wrapper canvas {
margin-right:15px;
float:left;
}
有什么解决这个问题的建议吗?此外,我正在考虑在 canvas 和文本框上方放置一个 header,但担心如果我使用不同尺寸的不同设备,这会影响 canvas 上的坐标,或者zoomed in/out 因为如果缩放太多,文本会换行。这真的是个问题吗?
您可以在父元素上使用 display: flex;
,然后在 canvas 上使用 order: -1;
,使其成为容器中的第一个元素。还将 .labelMaker
的 border/width/height 应用到 .labelMaker label
,并分配 display: block;
,这样它会创建比内联元素更好的布局。
canvas {
background: #ccc;
}
.labelMaker label {
border: solid;
display: block;
width: 150px;
height: 100;
}
.wrapper canvas {
margin-right: 15px;
}
.wrapper {
display: flex;
}
canvas {
order: -1;
}
<div class="wrapper">
<div class="labelMaker"><label>Labs:</label></div>
<canvas id="can" width="680" height="485"></canvas>
</div>
<body>
<div id="left" style="float:left; margin-right: 5px;">
<canvas id="can" width="680" height="485"></canvas>
</div>
<div id="left" style="float:left;">
<div class="labelMaker"><label>Labs:</label></div>
</div>
<div style="clear:both;"></div>
</body>
<style type="text/css">
.labelMaker{
border:solid;
width:150px;
height:100;
right: 170px;
display: inline-block;
float: right;
position: relative;
}
.wrapper canvas {
margin-right:180px;
float:left;
}
</style>