Javascript 具有绝对位置的html5画布不';行不通
具有绝对位置的画布无法正常工作,如您在此处所见: (在Firefox和Chrome中测试)矩形的大小应为500x500像素Javascript 具有绝对位置的html5画布不';行不通,javascript,css,html,html5-canvas,Javascript,Css,Html,Html5 Canvas,具有绝对位置的画布无法正常工作,如您在此处所见: (在Firefox和Chrome中测试)矩形的大小应为500x500像素 有没有一种方法可以让它工作,而不需要手动设置宽度和高度?还是我犯了什么错误?定位工作正常。您只是在画布的右下角绘制黑框。由于画布元素只有300150像素大,因此正在剪裁矩形 您必须手动设置宽度和高度 这可以通过JavaScriptOnResize事件来完成——这很好,因为您几乎总是需要在调整大小时重新绘制画布表面 编辑: 根据W3规范,以下是canvas DOM接口: c
有没有一种方法可以让它工作,而不需要手动设置宽度和高度?还是我犯了什么错误?定位工作正常。您只是在画布的右下角绘制黑框。由于画布元素只有300150像素大,因此正在剪裁矩形
您必须手动设置宽度和高度 这可以通过JavaScriptOnResize事件来完成——这很好,因为您几乎总是需要在调整大小时重新绘制画布表面 编辑: 根据W3规范,以下是canvas DOM接口: canvas元素有两个属性来控制画布的大小 坐标空间:宽度和高度。这些属性在指定时, 必须具有有效的非负整数值。规则 必须使用解析非负整数来获取其数值 价值观如果缺少属性,或者如果解析其值返回 错误,则必须使用默认值。宽度 属性默认为300,高度属性默认为150
为什么不同时向左和向右?我知道,但为什么它没有页面那么大呢?我的css显示左侧为0px,右侧为0px,顶部为0px,底部为0px。这个答案没有回答OP的问题。所以你的意思是“画布”必须手动完成,而“div”则不能。正确的画布需要高度和宽度。不能通过右下角完成。所以我测试了这个:我必须手动设置宽度和高度,但是画布在offsetwidth和offsetheightNo中有这些值,这不是错误。另外,在我最后的评论中,我的意思不是“正确的画布…”,我的意思是“正确的.画布…”+1表示
onresize
,我再次+1表示链接并引用规范。传递秘密:规范可能值得阅读。
interface HTMLCanvasElement : HTMLElement {
attribute unsigned long width;
attribute unsigned long height;
DOMString toDataURL(in optional DOMString type, in any... args);
void toBlob(in FileCallback, in optional DOMString type, in any... args);
object getContext(in DOMString contextId, in any... args);
};