Css 使用GAS对flextable中按钮的文本进行对齐和间距

Css 使用GAS对flextable中按钮的文本进行对齐和间距,css,google-apps-script,Css,Google Apps Script,在flextable中,我创建的行在第一列中有按钮,显示每行的数量,在其他列中有文本框。 我想将行之间的空间减少到最小 var btnField = app.createButton(numRow).setId(fieldId).setSize(20, 20) .setStyleAttribute('marginBottom', 3).setStyleAttribute('marginTop', 0) .setStyleAttribute('fontSize', 8).setText(n

在flextable中,我创建的行在第一列中有按钮,显示每行的数量,在其他列中有文本框。 我想将行之间的空间减少到最小

var btnField = app.createButton(numRow).setId(fieldId).setSize(20, 20)
  .setStyleAttribute('marginBottom', 3).setStyleAttribute('marginTop', 0)
  .setStyleAttribute('fontSize', 8).setText(numRow)); 

flextable.setCellSpacing(1).setCellPadding(1); //Minimum distance between rows ??
关于按钮的问题是文本不是垂直在按钮的中间。我无法使用.setSize20、18左右来减小按钮的大小,因为文本将超出底部按钮的范围

我应该用什么样的属性来把按钮的文字垂直放置在按钮的中间,右边有一个小的边缘?按钮本身不应超过文本框的大小,以最小化行之间的距离


如果我必须使用flextable上的设置,当然也可以。

样式属性应该使用camelCase编写,使用fontSize而不是fontSize,您将得到以下结果:

这是很好的中心

编辑:我对按钮文本对齐做了一些测试,结果有点令人惊讶。。。 下面的代码和插图显示,文本内容上只能进行水平对齐,paddingTop也适用,但对其他小部件也有副作用

function doGet() {
  var app = UiApp.createApplication().setTitle('test buttons');
  var btn1 = app.createButton('test Button1').setPixelSize(200,60).setStyleAttributes({'fontFamily': 'serif','fontWeight': 'bold','fontSize':'14pt','text-align':'right'});
  var btn2 = app.createButton('test Button2').setPixelSize(200,30).setStyleAttributes({'fontSize':'12pt','textAlign':'left'});
  var btn3 = app.createButton('test Button3').setPixelSize(200,16).setStyleAttributes({'fontSize':'8pt','padding':'0px'});
  var btn4 = app.createButton('test Button4').setPixelSize(200,60).setStyleAttributes({'fontSize':'8pt','paddingTop':'30px'});
  app.add(btn1).add(btn2).add(btn3).add(btn4);
  return app;
}
od填充和垂直对齐的组合可以产生有趣的结果,请参见以下内容:

  var btn4 = app.createButton('testButton4').setPixelSize(200,60).setStyleAttributes({'fontSize':'8pt','paddingTop':'30px','vertical-align':'-11px'});

确实有效,谢谢。但“如何在按钮上垂直放置文本”这一基本问题仍然是现在不需要的答案。