代码之家  ›  专栏  ›  技术社区  ›  Robbo_UK

表单样式垂直对齐

  •  2
  • Robbo_UK  · 技术社区  · 13 年前

    我在设置表单样式时遇到问题。标记为目标组的部分无法使其垂直对齐。请参阅下面的屏幕截图。我添加了颜色边框来帮助调试css。

    enter image description here

    我为此创建了一个js小提琴 http://jsfiddle.net/uuNTC/

    下面是代码的精简版本

    HTML格式

    <ul id="ulFilterList">
      <li>
         <div class="filterLabel" id="labelDates">Dates</div>
    
              <input type="text" value="03/09/2012" name="dateFrom" id="dateFrom" class="dateInputs">
              <input type="text" value="09/09/2012" name="dateTo" id="dateTo" class="dateInputs">
    
      </li>
      <li>   
          <div class="filterLabel" id="labelOnRequest">Include "On Request" With:</div>
          <select name="onRequest" id="onRequest">
              <option selected="selected" value="1">Stop Sell</option>
              <option value="2">Available</option>
          </select>
    
      </li>
      <li>
    
          <div class="filterLabel" id="labelDestinationGroups">Destination Group:</div>
              <select size="10" multiple="multiple" name="destinationGroups[]" id="destinationGroups">
    
                <option value="Tunisia All">Tunisia All</option>
                <option value="Turkey All">Turkey All</option>
                <option value="Turkey PNR">Turkey PNR</option>
                <option value="UAE Abu Dhabi ">UAE Abu Dhabi </option>
                <option value="UAE All Dubai">UAE All Dubai</option>
                <option value="VIE">VIE</option>
                <option value="VIE">MORE</option>
                <option value="VIE">MORE</option>
                <option value="VIE">MORE</option>
                <option value="VIE">MORE</option>
                <option value="VIE">MORE</option>
                <option value="VIE">MORE</option>
              </select>
      </li>
    </ul>
    

    css

    ul#ulFilterList,
    ul#ulFilterList li  { margin: 0px; padding: 0px }
    
    .dateInputs { margin:0px; text-align:left; width: 50px; display: inline-block;   }
    
    #ulFilterList { width: 100% }
    
    ul#ulFilterList li
    {
      list-style:none;
      margin-bottom: 5px;
      border: solid 1px blue;
    }
    
    
    .filterLabel {
        font-weight: normal;  
        width: 29%;  
        display: inline-block;
        text-align:right;
        height: 100%;
        font-size: 11px ;
        margin-top: auto
    }
    
    1 回复  |  直到 13 年前
        1
  •  2
  •   thirdender    13 年前

    使用的好处之一 display: inline-block; 可以指定垂直对齐。在里面 this fiddle 我已经为 .filterLabel 元素到 vertical-align: top; 。不利的一面是,您需要返回到默认值 vertical-align: baseline; 对于单行输入旁边的标签(“日期”和“包含“随请求”标签),或设置相应的样式 INPUT 元素向上一点。