首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html5画布,在溢出时添加滚动条

html5画布,在溢出时添加滚动条
EN

Stack Overflow用户
提问于 2016-07-14 06:27:18
回答 2查看 5K关注 0票数 2

你好,我有一个html画布,我想添加一个滚动条,就像任何网页或文本区域一样,我使用了溢出:滚动;但是它只显示滚动条,并且它们是禁用的(而且我不能滚动)

这是标记

代码语言:javascript
复制
<div class="ccsp-area">
    <canvas id="mainCanvas" width="900" height="500"></canvas>
</div>

这是css (scss)

代码语言:javascript
复制
 .ccsp-area {
   width: 90%;
   height: 100%;
   display: inline-block;
   canvas {
     display: inline-block;
     background-color: #fff;
     max-width: 100%   !important;
     overflow: scroll;
   }
 }

最后这是JS

代码语言:javascript
复制
var canvas = $("#mainCanvas");
var ctx = canvas[0].getContext('2d');
var targetSizeE = $(".ccsp-area");
var rwidth = targetSizeE.width() -200;
var rheight = targetSizeE.height() -80;
// no need to read more code after this stage
canvas.attr('width', rwidth);
canvas.attr('height', rheight);
ctx.beginPath();
ctx.moveTo(100 , 100);
ctx.lineTo(600, 600);
ctx.lineTo(600,100);
ctx.closePath();
ctx.lineWidth = 20;
ctx.strokeStyle = "rgba(10,220,50,1)";
ctx.fillStyle = "rgba(10,220,50,0.5)";
ctx.stroke();

结果结果的屏幕截图

正如您所看到的,滚动条是禁用的,即使在画布中有超过画布高度的绘图时,我也不能滚动。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-14 09:39:58

就像那个家伙说的,画布没有内容可以溢出,所以最好的方法是将画布的宽度和高度设置为很大的东西,比如2200 x 1500 (你可以通过js改变高度)。

这就是你的css应该看起来的样子。

代码语言:javascript
复制
.ccsp-area {
  width: 90%;
  height: 100%;
  display: inline-block;
  overflow: scroll;
  canvas {
    display: inline-block;
    background-color: #fff;
  }
}

在您的情况下,从html元素中设置大小,而不是从JS中设置大小(也可以随意删除设置画布大小的js代码)。

代码语言:javascript
复制
<canvas id="mainCanvas" width="900" height="500"></canvas>
票数 0
EN

Stack Overflow用户

发布于 2016-07-14 07:08:57

参见链接这里

您可以分别设置overflow-xoverflow-y

查看有关MDN溢出的更多信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38366947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档