2016-12-03 196 views
-2

如果您查看州下拉框和郵政編碼文本框,郵政編碼框高度重新定位爲下拉框的高度。我怎樣才能保持郵政編碼文本框的城市箱高度相同?職位問題

解決---

我能夠這樣同時使用Flexbox的和HTML表來解決。我最初使用flexbox,但沒有意識到我可以使用align-items:flex-start來完成我正在嘗試做的事情。

工作Flexbox的代碼:

    <div class="flex" style="align-items:flex-start"> 
          <div class="selector_container marTop10pt"> 
           <div class="state_container flex padLeft15pt padTop15pt padBtm15pt""> 
            <div class="state">State</div> 
            <div class="right padRight15pt" style="width: 100%"><img style="height: 10pt" src="assets/front/img/down_arrow.png" /></div> 
           </div> 
           <div class="state_option_container off"> 
            <div class="nonselect_selection padBtm20pt">- K -</div> 
            <div class="state_selection">Kentucky</div> 
           </div> 
          </div> 
         <td valign="top"> 
          <input style="width: 100pt" type="textbox" class="txt marLeft5pt zipcode marTop10pt" placeholder="Zip" /> 
        </div> 

工作HTML表格的版本:

    <table> 
        <tr> 
         <td> 
          <div class="selector_container marTop10pt"> 
           <div class="state_container flex padLeft15pt padTop15pt padBtm15pt""> 
            <div class="state">State</div> 
            <div class="right padRight15pt" style="width: 100%"><img style="height: 10pt" src="assets/front/img/down_arrow.png" /></div> 
           </div> 
           <div class="state_option_container off"> 
            <div class="nonselect_selection padBtm20pt">- K -</div> 
            <div class="state_selection">Kentucky</div> 
           </div> 
          </div> 
         </td> 
         <td valign="top"> 
          <input style="width: 100pt" type="textbox" class="txt marLeft5pt zipcode marTop10pt" placeholder="Zip" /> 
         </td> 
        </tr> 
        </table> 

的jQuery:

$('.country_region_container').click(function() { 
    $('.country_region_option_container').toggleClass('off'); 
}); 
$('.state_container').click(function() { 
    $('.state_option_container').toggleClass('off'); 
}); 
$('.state_selection').click(function() { 
    $cloned = $(this).html(); 
    $('.state').replaceWith('<div class="state">'+$cloned+"</div>"); 
    $('.state_option_container').toggleClass('off'); 
}); 
$('.selection').click(function() { 
    $cloned = $(this).html(); 
    $('.country_region').replaceWith('<div style="width:100%" class="country_region">'+$cloned+"</div>"); 
    $('.country_region_option_container').toggleClass('off'); 
}); 

輸出:

enter image description here

+0

它顯示你正在使用的財產? – 2016-12-03 21:57:59

+0

即時通訊使用display:flex –

+1

請提供[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – Ouroborus

回答

1

地點都在同一個表,並指定高度和寬度尺寸

+0

如果即時通訊使用flexbox? –

+0

這是我能得到的最接近的答案,一張桌子可以解決這個問題,但是自從我使用了桌子以來已經有一段時間了。所以感謝提醒。 –

0

簡單的形式腳本

#form { 
 
    position: relative; 
 
    margin: 0 auto; 
 
    padding: 10px 15px; 
 
    width: 260px;/*width of your form*/ 
 
    border: 1px solid #efefef; 
 
} 
 

 

 
input,select { 
 
    display: block; 
 
    margin-bottom: 6px; 
 
    width: 100%; 
 
    height: 21px;/*height of inputs*/ 
 
    box-sizing: border-box; 
 
} 
 

 
#state-zip { 
 
    position: relative; 
 
} 
 

 
#cz-right { 
 
    position: absolute; 
 
    top: 0; 
 
    right: 0; 
 
    width: 60px; 
 
} 
 

 
#cz-left { 
 
    margin-right: 66px;/*width of zip input + space between zip input and select input*/ 
 
}
<div id="form"> 
 
    <input type="text" placeholder="Street address"/> 
 
    <input type="text" placeholder="City"/> 
 
    <div id="state-zip"> 
 
    <div id="cz-left"> 
 
     <select> 
 
     <option>State</option> 
 
     <option>Option</option> 
 
     </select> 
 
    </div> 
 
    <input id="cz-right" type="text" placeholder="ZIP"/> 
 
    </div> 
 
    <select> 
 
    <option>Country/Region</option> 
 
    <option>Option</option> 
 
    </select> 
 
    
 
    
 
</div>

+0

我只是要把它們扔在一張桌子上繼續前進。這段代碼是一個非常好的策略。我將把它保存到我的代碼庫中。謝謝! –

+0

@MichaelGrigsby沒問題;) – 2016-12-03 22:55:31