代码之家  ›  专栏  ›  技术社区  ›  Michal Čizmazia

如何对齐输入并在一行中选择表单元素

  •  4
  • Michal Čizmazia  · 技术社区  · 15 年前

    input select 表单元素 my test case ,以便它们的水平边框对齐,并且所有文本(包括标签)都与基线对齐?

    label 还有一个 输入 与其他元素一起构成元素 标签 以及 表单元素 一排 . 所以我想 边界 和 输入 与 . 有可能吗?

    我无法在IE8或FF上取得胜利。我试过了 box-sizing: border-box; 输入 和 选择 盒子模型。

    见 我的测试用例 ,其中包含以下代码:

    <form action="Submit" method="post">
        <p>
            <label>Sex<select><option value="" selected="selected">Sex</option></select></label>
            <label>Date of Birth<input type="text" value="Date of Birth" /></label>
        </p>
    </form>
    
    body, input, select {
        font-family: Helvetica,Arial,sans-serif;
        font-size: 12px;
    }
    
    select, input {
        height: 20px;
        padding: 0;
        margin: 0;
        border: 1px solid gray;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }
    
    label {
        padding: 0;
        margin: 0;
    }
    
    2 回复  |  直到 13 年前
        1
  •  11
  •   Rory O'Kane Erce    13 年前

    我建议在 select input 元素:

    vertical-align: bottom;
    

    您可以将填充添加到 选择 元素。但是,下拉箭头周围会有一些空格。 2px 应该没问题,不过你可以随便玩玩。这应该有助于文本基线。

        2
  •  1
  •   Michal Čizmazia    15 年前

    select 和 input 元素,然后设置 border 到 1px 使它对齐。我不更改默认值 vertical-align: baseline 保持 文本基线

    body, input, select {
      font-family:Helvetica,Arial,sans-serif;
      font-size: 12px;
    }
    
    select, input { border: 1px solid gray; }