限制(夹紧)画布尺寸

时间:2011-09-24 14:03:15

标签: html5 html5-canvas

我想为我的HTML游戏制作可移动的世界,所以我将1600x1200画布放在我的800x600 div元素中,并使用left和top来移动世界。我期望div会夹住我画布的大小,但是我的画布重叠了我的div的边框。 div不伸展,画布独立于div。

我试过了!重要的,最大宽度和最大高度,不同的显示,没有任何作用。使用CSS作为宽度和高度只是缩放画布。我也尝试将我的画布作为外来对象放入SVG,但是我得到错误“getContext不是函数”。

那么,我怎样才能限制画布的大小?

1 个答案:

答案 0 :(得分:0)

除非div在其CSS中设置canvas,否则div将扩展到overflow: hidden;的大小。子元素大于父元素,并且您没有严格告诉浏览器限制父元素的大小。

max-widthmax-height属性对您没有帮助,因为您没有在div内放置“可包装”内容。如果您将文字放在设置了div的{​​{1}}中,则会尊重该值。如果您放置一个具有不变大小的元素,例如max-widthimage元素,则浏览器无法像一堆浮动canvas或某些文本一样动态地包装它。在这种情况下,您有divs,需要以不同的方式处理。

将父overflow设置为隐藏后,您可以通过使用position元素的margin和/或canvas属性来实现您所寻找的内容溢出。