一行中有两个输入字段,左对齐,右对齐

时间:2013-09-26 20:16:55

标签: html css html-table input-field

我希望有一个由不同输入字段组成的表单。在某些行上应该有两个输入字段。第二个应该正确对齐。

jsFiddle

HTML:

<table>
    <tr>
        <td>
            <input type="text" name="first-name" class="form-first-name" />&nbsp;
            <input type="text" name="last-name" class="form-last-name" />
        </td>
    </tr>
    <tr>
        <td class="empty-row">&nbsp;</td>
    </tr>
    <tr>
        <td>
            <input type="text" name="address-1" class="form-address-1" />
        </td>
    </tr>
</table>

CSS:

.form-address-1 {
    width: 100%;
}

.form-first-name, .form-last-name {
    width: 46%;
}

.form-last-name {
    float: right;
}

我的问题是输入字段有不同的大小,因此行的大小会以某种方式改变。我试图设置tr的宽度但没有成功。如何将第二个输入字段对齐?

4 个答案:

答案 0 :(得分:2)

它是一个盒子布局问题。

检查检查员,你会发现你的地址输入溢出了它的行。 (那是因为100%+默认保证金/填充=超过100%)

Working Fiddle

将此添加到您的CSS

*
{
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

答案 1 :(得分:2)

你可以这样做:

 <td>
      <span style="float:left">
          <input type="text" name="first-name" class="form-first-name" /></span>
       <span style="float:right">
           <input type="text" name="last-name" class="form-last-name" /></span>
 </td>

http://jsfiddle.net/KxUgt/8/

答案 2 :(得分:0)

设置表格的宽度,而不是tr。

答案 3 :(得分:0)

使用min-width:并制作.form-first-name{float:left;}