当前位置: 首页 > 面试题库 >

画布底部有空白并且滚动太远

尉迟跃
2023-03-14
问题内容

我正在使用此答案在div中滚动画布。我也隐藏了滚动条。问题在于它似乎滚动得太远,在这种情况下,如果向下滚动,您会看到画布所在的div的红色。

我尝试过弄乱填充和边距以及不同的大小,但是没有运气。

var c = document.getElementById("myCanvas");

var ctx = c.getContext("2d");

ctx.fillStyle = '#00aa00'

ctx.fillRect(0, 0, c.width, c.height);

ctx.fillStyle = '#fff'

ctx.font='12pt A'

ctx.fillText("scroll here to see red from screen div", 30, 50);


.screen {

  background: red;

  height: 100px;

  width: 300px;

  overflow: auto;

  border-radius: 20px;



}



::-webkit-scrollbar {

  width: 0px;

  height: 0px;

}


<div class="screen">

  <canvas id="myCanvas" width="300" height="120">

  </canvas>

</div>

我如何才能使其仅滚动到画布的末尾,而不在下面显示任何容器div?

谢谢!


问题答案:

将画布作为block元素。默认情况下,canvas是一个内联元素,其行为与img;
相似。因此,由于垂直对齐,您将出现空白问题div内的图像在图像下方有多余的空间

var c = document.getElementById("myCanvas");

var ctx = c.getContext("2d");

ctx.fillStyle = '#00aa00'

ctx.fillRect(0, 0, c.width, c.height);

ctx.fillStyle = '#fff'

ctx.font='12pt A'

ctx.fillText("scroll here to see red from screen div", 30, 50);


.screen {

  background: red;

  height: 100px;

  width: 300px;

  overflow: auto;

  border-radius: 20px;

}

canvas {

 display:block;

}



::-webkit-scrollbar {

  width: 0px;

  height: 0px;

}


<div class="screen">

  <canvas id="myCanvas" width="300" height="120">

  </canvas>

</div>


 类似资料:
  • 1,在ios端空白页面(Vue 嵌套在APP中)写如下样式 页面展示状态 2, 然后这个时候可以进行上下的滑动,并且底部出现空白,这是为啥? 只有ios端会有这个情况

  • 我面临着一个奇怪的问题:碎片底部有一个空白,我无法摆脱它。还值得一提的是,如果我单击任何按钮,这个空间就会消失。 感谢您的帮助!请在下面找到屏幕截图和布局代码。 截图 详细活动布局: DetailFragment布局: 详图网格布局: 详细附加网格布局:

  • 问题内容: 我在图像周围有一个标签。我在标签所在的div上设置了边框。我将margin和padding都设置为0,但由于某种原因,我的标签仍比我的图像高3像素。这在图像和边框之间留了一些空间,破坏了我想要完成的外观。 我究竟做错了什么?我已经在FireFox和Chrome中测试了相同的结果。谢谢 问题答案: 图像是如此,它被视为字符,位于基线上。差距是由为下降器提供的空间引起的(可以在类似j,g,

  • 我正在手工编写一个自定义JPanel,称之为MyPanel,它包含两个jLabel和两个jTextBox。此JPanel将在JFrame中使用,JFrame包含使用CardLayout的其他JPanel。JFrame不可调整大小;它的大小基于组件最多的JPanel而固定。 由于MyPanel很少使用控件,因此我正在尝试找出使用的最佳布局管理器。我希望标签和文本字段显示在靠近顶部的位置,并在底部留有

  • 问题内容: 我正在使用glfx.js编辑我的图像,但是当我尝试使用函数获取该图像的数据时,我得到了一个空白图像(宽度与原始图像相同)。 奇怪的是,在Chrome中,脚本可以完美运行。 我要提及的是,使用onload事件加载了图像: 另外,我的图片路径在同一域中; 问题(在Firefox中)是当我按下“保存”按钮时。Chrome返回预期结果,但Firefox返回以下结果: 是什么导致此结果,如何解决

  • 所以,伙计们,使用询问用户应用程序是否应该更新,然后我在画布的底部和右侧得到这些白条。试着移除autoupdate的东西,效果很好。这是我的代码