如何在响应div中使用/ button自动调整文本输入

时间:2014-03-03 06:47:51

标签: css css3 css-float

我正在使用已经响应且工作正常的网站。我正在尝试使用右侧的按钮添加文本输入字段,并希望文本输入自动调整大小,按钮保持固定大小。

一般的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      | |
| +------------------------------------------------+ |
+----------------------------------------------------+

期望的行为:

容器div将根据显示宽度自动调整大小 - 这已经处理完毕。 btn div的大小与按钮的宽度完全相同 - 这也已经完成了。

我希望文本输入div自动调整,文本输入为文本div的100%。

这可能吗?我想我已经提供了足够的信息,但我很乐意提供所需的任何其他细节。我已经在这方面工作了好几个小时,而且此时很沮丧。

修改

我可能没有足够清楚地解释所期望的行为。

#container宽度根据显示宽度而变化。这已经完美地发生了。它可以是960px宽度,一直到320px宽度。

#btn不是固定宽度。它将一直定位到#container的右边缘。

#text宽度需要自动调整大小以占用#container左边和#btn右边距之间的整个宽度。

3 个答案:

答案 0 :(得分:3)

我会使用旧的学校桌子。以下内容应为您提供一个起点:

a)添加一个充当表格行的包装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

答案 1 :(得分: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>

答案 2 :(得分: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