为什么不是createjs DOMElements像所有其他对象一样正确定位在画布的左上角?

时间:2016-07-06 03:29:16

标签: javascript css html5 canvas createjs

(根据标题)

如果您创建一个HTML按钮并使用createjs:

将其放在画布上
var html = document.createElement('input');
html.type = 'button';
html.id = 'testing button';
html.value = 'test';
html.style.top = 0; // <--
html.style.left = 0; // <--

按钮将显示在画布的外部。这很可能是HTML和CSS的工件(我没有背景说明为什么会这样);而不是在舞台上的默认位置(0,0),左上角,就像所有其他createjs DisplayObjects一样。

1 个答案:

答案 0 :(得分:1)

答案似乎与CSS样式有关。简单地添加两个样式选项,按钮的默认位置设置在我们预期的左上角(0,0):

{{1}}

根据MDN,这些属性确定相对于上边距和左边距的位置:

  

对于绝对定位的元素(具有位置的元素:绝对或   position:fixed),它指定顶部/左侧之间的距离   元素的边缘和其包含的上/左边缘   块。

来源:Top&amp; Left

如果有人可以因为这种行为的原因和一些更好的细节而引起反响,正如我所说的那样,我很简单,没有CSS或HTML的背景来说明原因。