在CSS中对齐表单元素

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (141)

我是CSS的新手,我有一个简单的登录表单,我试图正确地对齐。基本上是两列,标签和登录按钮在一列和文本框在另一列。我如何在CSS中做到这一点?

html代码是

<body>
  <form action="" method="post">
    <label> Username </label>
    <input type="text"/>

    <label> Password </label>
    <input type="password"/>

    <input type="submit" value="submit"/>
  </form>
</body>
提问于
用户回答回答于

这是一种行之有效的方法:

form {
    width: 80%;
    margin: 0 auto;
}

label, input {
    /* in order to define widths */
    display: inline-block;
}

label {
    width: 30%;
    /* positions the label text beside the input */
    text-align: right;
}

label + input {
    width: 30%;
    /* large margin-right to force the next element to the new-line
       and margin-left to create a gutter between the label and input */
    margin: 0 30% 0 4%;
}

/* only the submit button is matched by this selector,
   but to be sure you could use an id or class for that button */
input + input {
    float: right;
}
​
用户回答回答于
  <form action="" method="post">
    <table>
        <tr>
            <td><label> Username </label></td>
            <td><input type="text"/></td>
        </tr>
        <tr>
            <td><label> Password </label></td>
            <td> <input type="password"/></td>
        </tr>
        <tr>
            <td colspan="2"><input type="submit" value="submit"/></td>
        </tr>
    </table>
  </form>      

下面是它的样子http://jsfiddle.net/wCSAn/

扫码关注云+社区

领取腾讯云代金券