我想为我的HTML游戏制作可移动的世界,所以我将1600x1200画布放在我的800x600 div元素中,并使用left和top来移动世界。我期望div会夹住我画布的大小,但是我的画布重叠了我的div的边框。 div不伸展,画布独立于div。
我试过了!重要的,最大宽度和最大高度,不同的显示,没有任何作用。使用CSS作为宽度和高度只是缩放画布。我也尝试将我的画布作为外来对象放入SVG,但是我得到错误“getContext不是函数”。
那么,我怎样才能限制画布的大小?
答案 0 :(得分:0)
除非div
在其CSS中设置canvas
,否则div
将扩展到overflow: hidden;
的大小。子元素大于父元素,并且您没有严格告诉浏览器限制父元素的大小。
max-width
和max-height
属性对您没有帮助,因为您没有在div
内放置“可包装”内容。如果您将文字放在设置了div
的{{1}}中,则会尊重该值。如果您放置一个具有不变大小的元素,例如max-width
或image
元素,则浏览器无法像一堆浮动canvas
或某些文本一样动态地包装它。在这种情况下,您有divs
,需要以不同的方式处理。
将父overflow
设置为隐藏后,您可以通过使用position
元素的margin
和/或canvas
属性来实现您所寻找的内容溢出。