输入vertical-align:td中间,但不是文本?

时间:2014-06-23 16:42:48

标签: html css vertical-alignment

为什么表格单元格内的文本和控件会忽略/不继承单元格本身(或行,或两者)的vertical-align:middle;样式?

在页面加载的CSS样式表中:

tr.troptions{
    vertical-align:middle;
}

td.tdoptions{
    white-space:nowrap;   
    vertical-align:middle;
}

检查员显示已应用样式:

enter image description here

但是行中的所有内容在IE10的中间都没有垂直对齐,而是正在为此开发:

enter image description here

CheckBoxes可能是垂直居中的,但不是文本而不是TextBoxes。左侧文本框低于右侧。

虽然控件似乎在Firefox中垂直对齐,但仍然不是文本:

enter image description here

尝试将样式放入tdtrtable无济于事。我做错了什么?

编辑:

我挑战那些贬低这个"坏"问题是生成一个CSS,它垂直中间对齐IE10的表格单元格中的文本,复选框,单选按钮,文本框和按钮。如果你不能 - 你知道你是什么:全无帽牛。

1 个答案:

答案 0 :(得分:0)

我不知道为什么会发生这种情况,但一般来说,你可以使用

.troptions {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

对于文字,您还可以使用line-height: 00px,其中00与height相同。