表格行中表单控件的垂直对齐方式

时间:2012-09-29 12:32:56

标签: html css

我正在尝试对齐表格控件的表格行,如此jsbin示例中所示:

http://jsbin.com/umeyud/6

我只关心IE8 +,最近的Firefox和最近的Chrome(抱歉Safari和Opera!)

虽然我可以非常接近,但我希望我可以在左侧获得“标签”,以便与所有其他控件上显示的所有文本的第一行完美对齐。

额外的好处是让复选框垂直居中到第一行文字的中间位置。

1 个答案:

答案 0 :(得分:0)

你走了。享受!

我需要4px用于IE& Opera,其他6px

<!DOCTYPE html>
<html>
<!--
  Created using jsbin.com
  Source can be edited via http://jsbin.com/umeyud/6/edit
-->
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
<style id="jsbin-css">
div
{
    display: inline-block;
}

body,td,input,select,textarea 
{ 
    font: 14pt Arial 
}

.multi td 
{ 
    white-space: nowrap; 
}

.q, .vAlign
{ 
    padding-top: 0px;
    vertical-align: top;
    padding-top: 4px;
}

table
{
 display: inline-table;
}
</style>
</head>
<body>
  <table>
    <tr>
      <td class="q"><div>Label</div></td>
      <td class="a text" style='vertical-align: top'><input type="text" value="Hello, World!"/></td>
      <td class="a text" style='vertical-align: top'><textarea>Hello, World!</textarea></td>

      <td class="a yesno vAlign" style='vertical-align: top'><div><input type="checkbox"/>&nbsp;</div></td>
      <td class="a single" style='vertical-align: top'><select><option>Option 1</option></select</td>
      <td class="a multi vAlign" style='vertical-align: top'>
        <input type='checkbox'/>Option 1<br>
        <input type='checkbox'/>Option 2<br>
        <input type='checkbox'/>Option 3
      </td>
      <td class="a picture"><img src="#" width=160 height=120></td>
  </tr>
  </table>
  </body>
</html>