【问题标题】:How will I align the label of a text area to top?如何将文本区域的标签对齐到顶部?
【发布时间】:2012-06-16 03:38:32
【问题描述】:

我确实有一个表格数据如下图:

<td>
    <label for="title">Title : </label>
    <textarea rows="5" id="title" name="title"></textarea>
</td>

标签的默认位置在底部。如何将标签与文本区域的顶部对齐?

【问题讨论】:

    标签: html css forms layout


    【解决方案1】:

    使用 br 标签。

    <td>
        <label for="title">Title : </label>
        <br>
        <textarea rows="5" id="title" name="title"></textarea>
    </td>
    

    【讨论】:

    • 这会将文本区域放在一个新行中,而不是预期的结果(检查接受的答案)
    【解决方案2】:

    @Bazmegakapa 很好的答案!我们也可以这样做

    label{display:block; float:left;}​
    

    小提琴演示:http://jsfiddle.net/kaMqg/1/

    【讨论】:

    • 是的,但是浮动有很多副作用。
    【解决方案3】:

    使用以下 CSS:

    ​textarea { vertical-align: top; }​
    

    【讨论】:

    • 如果你有文本区域和文本输入字段的混合,这看起来有点不对劲,因为输入字段的标签将在基线上对齐;有没有很好的 CSS 解决方案来对齐标签的基线和 textarea 内容的 first 行?
    • @ysth 如果你使用vertical-align(它也接受长度和百分比值),你可以接近:jsfiddle.net/aMLFE/95(只是一个例子,它可能取决于你的样式)。在 Chrome、FF、IE11 中尝试过。
    • 我迟到了 5 年,但您可以将 line-height 与 vertical-align: top 结合使用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2013-05-12
    • 2010-12-17
    • 2013-12-05
    相关资源
    最近更新 更多