首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xul:用hbox动态填充hbox会导致元素垂直放置

Xul:用hbox动态填充hbox会导致元素垂直放置
EN

Stack Overflow用户
提问于 2011-01-26 19:56:52
回答 1查看 399关注 0票数 0

我尝试使用以下代码在运行时使用hbox元素填充hbox元素:

Xul代码:

<hbox style="overflow:auto;" id="canvasContainer"> </hbox>

Javascript代码:

代码语言:javascript
复制
  this.canvasContainer = document.getElementById("canvasContainer");
  for(var i = 0;i<k;i++){
    let imgCanvas = document.createElementNS("http://www.w3.org/1999/xhtml",'html:canvas');
    imgCanvas.setAttribute("width",200);
    imgCanvas.setAttribute("height",150);
    imgCanvas.getContext("2d").fillRect(0,0,200,150);   
    let canvasVbox = document.createElementNS("http://www.w3.org/1999/xhtml",'vbox');
    this.canvasContainer.appendChild(canvasVbox);

    let canvasLabel = document.createElement("label");
    canvasLabel.setAttribute("value",i);
    canvasLabel.setAttribute("flex",1);
    canvasVbox.setAttribute("flex",1);
    canvasVbox.appendChild(imgCanvas);
    canvasVbox.appendChild(canvasLabel);

    this.canvasContainer.appendChild(canvasVbox);
  }

这导致画布和标签被垂直地显示在另一个下面。你知道问题出在哪里吗?会不会是不能动态填充方框?这是Xulrunner中的一个bug吗?您是否有一个不使用网格的可行解决方案?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-26 22:06:11

问题出在这一行:让canvasVbox = document.createElementNS("http://www.w3.org/1999/xhtml",'vbox');

VBox不是xhtml的一部分,而是xul语法的一部分,所以我只需要将"http://www.w3.org/1999/xhtml“替换为"http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul”,现在它就可以工作了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4804287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档