2014-03-03 50 views
5

我正在使用一個已經響應並且工作正常的網站。我正在嘗試在右側添加一個帶有按鈕的文本輸入字段,並希望文本輸入可以自動調整大小,並且按鈕保持固定大小。如何使文本輸入w /按鈕在響應div內自動調整

一般HTML/CSS是:

<style> 
    #container { width: 100%; } 
    #text { float: left; } 
    #btn { float: left; overflow: hidden; } 
</style> 

<div id="container"> 
    <div id="text"><input type="text" /></div> 
    <div id="btn"><input type="submit" /></div> 
</div> 

視覺:

+---------------- container (autosize) --------------+ 
| +------------------------------------------------+ | 
| |  text (autosize)  |  btn  | | 
| +------------------------------------------------+ | 
+----------------------------------------------------+ 

期望的行爲:

容器格將根據顯示寬度AUTOSIZE - 這已經得到處理。 btn div的大小與按鈕的寬度完全相同 - 這也已經完成。

我想文本輸入div自動調整文本輸入爲100%的文本div。

這可能嗎?我想我已經提供了足夠的信息,但很樂意提供任何其他需要的細節。我一直在努力工作數小時,在這一點上感到沮喪。

編輯

我可能沒有解釋所期望的行爲不夠清楚。

#container寬度根據顯示寬度而變化。這已經完美地發生了。它可以是960px的寬度,一直到320px的寬度。

#btn不是固定寬度。它將一直定位到#container的右邊距。

#text寬度需要自動調整以佔據#container的左側和#btn的右側頁邊之間的整個寬度。

+0

該按鈕的寬度是固定還是未知? –

+0

嘗試此操作http://jsfiddle.net/5Hrsc/ –

+0

salman:按鈕寬度未知。 – rwkiii

回答

3

我會用老同學的表這一點。以下應爲您提供一個起點:

一)添加包裝的div作爲錶行:

<div id="container"> 
    <div id="temp"> 
     <div id="text"><input type="text" /></div> 
     <div id="btn"><input type="submit" /></div> 
    </div> 
</div> 

b)設置的div顯示爲tabletable-rowtable-cell

#container { 
    display: table; 
    width: 100%; 
} 
#temp { 
    display: table-row; 
} 
#text, #btn { 
    display: table-cell; 
} 

c)將第一個單元格的寬度設置爲100%;這使得細胞儘可能地寬,同時保持其它細胞儘可能地窄:

#text { 
    width: 100%; 
} 

d)將輸入框100%以及:

#text input { 
    width: 100%; 
} 

e)改進。

Demo with ids replaced with classes

+0

薩爾曼這是完美的!非常感謝你。 :) – rwkiii

1

試試這個

CSS

<style> 
    #container { width: 100%; } 
    #text { float: left; width:70%;} 
    #btn { float: left; overflow: hidden; width:30%; } 
    .res 
    { 
     width:100%; 

    } 
</style> 

HTML代碼

<div id="container"> 

    <div id="text"><input type="text" class="res"/></div> 
    <div id="btn"><input type="submit" class="res" /></div> 

</div> 
+0

在手機(較小的顯示屏)上,按鈕不會顯示正確。我不認爲我可以在按鈕上指定寬度。 – rwkiii

+0

現在嘗試上面的代碼 –

+0

#容器獲得寬達960px。在這種情況下,#text和#btn之間會有560px的空白。我真的不認爲我可以設置按鈕的寬度,#text需要自動調整#container寬度減去#btn寬度之間的差異。 #text和#btn之間應該沒有差距。 – rwkiii

0

用於本

HTML

<div id="container"> 
    <div id="btn"><input type="submit" /></div> 
    <div id="text"><input type="text" /></div> 

</div> 

的CSS

#container { } 
    #btn { float: right; } 
#text{ 

    background:green; 
    margin-right:100px; 
} 

Demo

+0

文本輸入不會自動填充#text div – rwkiii

+0

用100%定義輸入文本,就像這樣http://jsfiddle.net/5Hrsc/4/ –

+0

在你的小提琴中,文本輸入下降到按鈕的下方,使2個水平行而不是全部在一個水平行上。 – rwkiii