2012-06-14 110 views
0

我正在嘗試創建動態寬度字段輸入,以便它們伸展到div的寬度。帶標籤的動態輸入寬度

如果在一條線上有兩個輸入,它們將動態分割可用空間以填充div的100%。

如果一行只有一個輸入,它將填滿整個寬度。

問題是標籤寬度和輸入寬度都是未知的(響應式網頁設計)。

令人驚訝的是,我很難確定這種情況是多麼常見。

http://imagepaste.nullnetwork.net/img/1339700574Screen%20Shot%202012-06-14%20at%203.04.59%20PM.png

+0

是的,請參閱圖像鏈接。儘可能接近我能得到的。我不想找人幫我做。我正在尋找一個研究的概念,看看這是否值得麻煩。 – jwg2s

+0

你確定使用javascript/js庫作爲選項嗎? –

+0

我正在用Ruby,Rails,jQuery進行開發。所以是的。 – jwg2s

回答

0

是有可能,使用jQuery,可以算一個div內輸入元件的數量,並相應地調整元件的寬度。

您可以使用lengthsize()所以決定要素的數量,然後將CSS做同樣的

這裏是一個粗略的實體模型:http://jsfiddle.net/6CqKK/

0

用的jsfiddle一些快速測試(BTW請上傳示例代碼,所以我們可以看到到目前爲止,你所做的事)給了我這樣的:

<div style="width:100%;border:1px solid gold;"> 
    <div style="width:100%; border:1px solid silver;"> 
     <div style="float:left;width:45%">In1 <input style="width:90%;"></div> 
     <div style="float:right;width:45%">In2 <input style="width:90%;"></div> 
    </div> 
    <div style="clear:both;width:100%;border:1px solid silver;"> 
     <div style="float:left;width:20%">In1 <input style="width:90%;"></div> 
     <div style="float:left;width:20%">In2 <input style="width:90%;"></div> 
     <div style="float:right;width:20%">In3 <input style="width:90%;"></div> 
    </div> 
</div> 

<div style="clear:both">&nbsp;</div> 

<table style="width:100%;border:1px solid gold;"> 
    <tr> 
     <td style="width:49%;border:1px solid silver;">In1 <input style="width:60%"></td> 
     <td style="width:49%;border:1px solid silver;">In2 <input style="width:60%"></td> 
    </tr> 
</table> 
<table style="width:100%;border:1px solid gold;"> 
    <tr> 
     <td style="width:29%;border:1px solid silver;">In1 <input style="width:60%"></td> 
     <td style="width:29%;border:1px solid silver;">In2 <input style="width:60%"></td> 
     <td style="width:29%;border:1px solid silver;">In2 <input style="width:60%"></td> 
    </tr> 
</table> 

看到它here。正如你可以看到,這兩個版本都不是很正確,但和往常一樣,基於表格的佈局更加健壯,即使在搞亂further之後,我也無法讓三列設置正常工作,但使用表格很容易。

最重要的是要計算出百分比。當你使用JS時,這應該是相當直接的。但是,如果標籤也可能有所不同,這將使計算更加複雜。