Doctype影响html/body/canvas的宽度和高度
doctype affects width and height of html/body/canvas
我有一个非常简单的HTML文件与画布。我已经实现了一个resizeToWindow函数,所以如果用户调整浏览器窗口的大小,画布也会随之调整。
然而,我得到滚动条在我的窗口。我注意到画布下面有一个小的白色区域,当我使用元素检查工具时,这个区域似乎与任何元素(html、body或canvas)都不对应。我试着摆弄窗户。innerHeight和innerWidth代码,我试着玩CSS,没有…然后…
我从我的代码顶部删除了!doctype html,它开始工作得很好。
我已经在Safari, Chrome, Firefox和Opera中尝试过了,所以它不是webkit的东西!
我的HTML只是通常的HTML5头部,然后是一个主体和一个初始化为800 x 600的画布。
CSS是:html, body, canvas {
width: 100%;
height: 100%;
margin: 0px;
padding: 0px;
}
和我的大小调整到window:
function resizeToWindow() {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
}
我只是觉得很奇怪,这对doctype不起作用,但没有。(我希望,如果有的话,它是相反的,因为这些属性和这段代码应该适用于所有当前浏览器的标准模式)。
任何想法将不胜感激!
啊,有意思。看起来<canvas>
元素,默认有display:inline
,就像<img>
元素,我认为这是有意义的。这意味着它被放置在它的包含块的基线上,所以你看到的底部的空白是基线和包含块底部之间的间隙。
这只发生在完全标准模式下,所以这就是为什么删除doctype会删除空白。在几乎标准模式和quirks模式下,canvas元素被放置在包含块的底部。
这个问题的标准修复程序解决了这个问题。使用:
canvas { vertical-align:bottom; }
或
canvas { display:block; }
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- ExtJS——在展开/折叠时调整面板高度
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 单击页面上的链接后高度发生变化
- 不加载宽度和高度的角度pintura
- 查找元素高度,包括边距
- 如何自动调整标签的高度以适应内容
- Javascript高度问题
- 使用JavaScript根据窗口/视口的高度动态调整图像大小
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- 如果宽度是百分比,如何设置以px为单位的图像高度
- IE9的HTML5 Canvas getImageData()函数存在问题
- 通过jquery设置最小高度
- 文档就绪提供了错误的选择器高度
- Canvas+svg路径动画,在路径中的特定点暂停一段时间,然后继续
- 当canvas's的高度超过屏幕's的高度(当滚动条出现时)
- 是否可以将Canvas ID的宽度和高度属性设置为窗口大小的90%
- FB.Canvas.setAutoGrow()不起作用并创建高度变化的无限循环
- Doctype影响html/body/canvas的宽度和高度