我一直在寻找一个解决方案一段时间,但还没有找到任何东西。也许这只是我的搜索字词。
嗯,我试图使画布中心根据浏览器窗口的大小。画布为800×600。
如果窗口低于800×600,它应该调整大小(但这不是很重要的时刻)
嗯,我试图使画布中心根据浏览器窗口的大小。画布为800×600。
如果窗口低于800×600,它应该调整大小(但这不是很重要的时刻)
解决方法
给画布以下css样式属性:
canvas { padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; display: block; width: 800px; }
编辑
由于这个答案很受欢迎,让我再补充一点细节。
上面的属性将水平中心画布,div或任何其他节点相对于它的父。无需更改顶部或底部边距和padding。您指定一个宽度,并让浏览器使用自动边距填充剩余空间。
然而,如果你想键入较少,你可以使用任何你想要的CSS简写属性,如
canvas { padding: 0; margin: auto; display: block; width: 800px; }
但是,垂直放置画布需要不同的方法。您需要使用绝对定位,并指定宽度和高度。然后将左,右,顶部和底部属性设置为0,并让浏览器使用自动边距填充剩余空间。
canvas { padding: 0; margin: auto; display: block; width: 800px; height: 600px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; }
画布将基于位置设置为relative或absolute的第一个父元素,或者如果没有找到则为body。
另一种方法是使用display:flex,这在IE11中可用
此外,请确保您使用最近的doctype,如xhtml或html 5。