作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 javascript 动态创建 Canvas 并将其显示在网页上,但 Canvas 的大小和 Canvas 的位置都根据正在查看网页的设备的大小而有所不同,无论是移动设备,还是桌面。我会在 css 中执行此操作,但据我所知,css 不能完全用于 html5 Canvas 。我会用这个:
#myCanvas{
height: 50%;
width: 50%;
position: relative;
top: 10%;
left: 10%;
}
但是 Canvas 的高度和宽度值只采用像素值,我能想到的唯一解决方案是获取父元素的大小,然后获取其中的一部分来描述我希望 Canvas 达到的大小是。但是,如果那不起作用,我不知道。就定位而言,我不知道我应该做什么。就像我说的那样,我正在动态创建 Canvas ,因此代码如下所示:
var c = document.createElement("canvas");
c.height = (whatever value);
c.width = (whatever value);
c.style.position = "relative";
c.style.top = (whatever value);
c.style.left = (whatever value);
var ctx = c.getContext('2d');
parentElement.appendChild('c');
如果有人能给我解决问题的方法,那将非常有帮助,谢谢 =)
最佳答案
将 Canvas 封装在容器 div 中,将此 div 的尺寸设置为成比例而不是固定。然后,使用 JQuery 的“调整大小”函数将 Canvas 的尺寸设置为容器 div 的宽度和高度。
$(window).resize(function() {
$('#canvas').attr('width', $('#parent').width());
$('#canvas').attr('height', $('#parent').height());
});
阅读本文了解更多信息:http://ameijer.nl/2011/08/resizable-html5-canvas/
关于javascript - 如何在 javascript 中调整 html5 Canvas 的大小和位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31820079/
我是一名优秀的程序员,十分优秀!