我在Google网络应用中创建了一个网格。我希望得到网格大小(0px,0px),但我得到(12px,0px),因为网格内的每一列似乎都没有任何理由将4px添加到它们的宽度。
这是对网格所做的事情(一次性完成):
*注意:网格上没有使用边框或边距,也没有使用其中的单元格。
以下是一些代码,您可以尝试查看我在说什么。
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;
}
答案 0 :(得分:2)
这里有两个问题:
单元格会自动填充
,因此需要清除(删除3 * 3px),
webkit has a bug为一个设置为零宽度的单元格留下有效的1px宽度,这意味着您只能选择低于3px的设置是将单元格设置为display:none
尝试将这些行添加到循环中:
grid.setStyleAttribute(y,x,"display","none");
grid.setText(y, x, "")