0

我正在尝试对齐表格控件的表格行,就像在这个 jsbin 示例中一样:

http://jsbin.com/umeyud/6

我只关心 IE8+、最近的 Firefox 和最近的 Chrome(对不起 Safari 和 Opera!)

虽然我可以非常接近,但我希望我可以让左侧的“标签”与所有其他控件上显示的所有文本的第一行很好地对齐。

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

4

1 回答 1

0

干得好。享受!

IE 和 Opera 需要 4px,其他需要 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>
于 2012-09-29T14:36:42.010 回答