Google Web应用中的网格(表格)为每列添加了4px宽度,但我需要宽度为0px

时间:2013-10-10 16:41:12

标签: javascript html css google-apps-script

我在Google网络应用中创建了一个网格。我希望得到网格大小(0px,0px),但我得到(12px,0px),因为网格内的每一列似乎都没有任何理由将4px添加到它们的宽度。

这是对网格所做的事情(一次性完成):

  1. 网格的宽度设置为“0px”
  2. 网格的高度设置为“0px”
  3. 网格内部单元格的宽度分别设置为“0px”
  4. 网格内部单元格的高度分别设置为“0px”
  5. 网格的行高设置为“0px”
  6. 网格内部单元格的行高分别设置为“0px”
  7. 网格的填充设置为“0px”
  8. 网格内部的单元格的填充分别设置为“0px”
  9. 在网格上调用了函数“.setCellSpacing(0)”。
  10. 在网格上调用了函数“.setCellPadding(0)”。
  11. *注意:网格上没有使用边框或边距,也没有使用其中的单元格。

    以下是一些代码,您可以尝试查看我在说什么。

    function doGet() {
      var app = UiApp.createApplication();
    
      var grid = app.createGrid(3,3);
    
      //Used outlines since they don't affect the size of the object
      grid.setStyleAttribute("outline-style","solid");
      grid.setStyleAttribute("outline-width","1px");
      grid.setStyleAttribute("outline-color","red");
    
      grid.setCellPadding(0);
      grid.setCellSpacing(0);
      grid.setStyleAttribute("width","0px");
      grid.setStyleAttribute("height","0px");
      grid.setStyleAttribute("line-height","0px");
      grid.setStyleAttribute("padding","0px");
      for(var x = 0; x<3; x++){
        for(var y = 0; y<3; y++){
          grid.setStyleAttribute(y,x,"width","0px");
          grid.setStyleAttribute(y,x,"height","0px");
          grid.setStyleAttribute(y,x,"line-height","0px");
          grid.setStyleAttribute(y,x,"padding","0px");
        }
      }
    
      app.add(grid);
    
      app.add(app.createLabel("^ The grid is right here. It's width is non-zero for some reason"));
    
      return app;
    }
    

1 个答案:

答案 0 :(得分:2)

这里有两个问题:

  1. 单元格会自动填充&nbsp;,因此需要清除(删除3 * 3px),

  2. webkit has a bug为一个设置为零宽度的单元格留下有效的1px宽度,这意味着您只能选择低于3px的设置是将单元格设置为display:none

  3. 尝试将这些行添加到循环中:

    grid.setStyleAttribute(y,x,"display","none");
    grid.setText(y, x, "")