自动将宽度扩展到文本字段

时间:2012-07-20 10:17:38

标签: html css forms uitextfield

如何根据浏览器宽度(使用纯css)获取具有自动扩展的文本字段。例如,如果我将浏览器缩放到最小宽度,则文本字段不应跳转到第二行。

我需要与此图片enter image description here

中的显示方式完全一致

4 个答案:

答案 0 :(得分:1)

不是100%确定它是理想的效果,但对于某些浏览器,这可能是您正在寻找的:

HTML:

<p>
<label>Test</label>
<span><input></span>
</p>​

和css:

label{width:200px;float:left;}
span{display:block;width:100%;box-sizing:border-box;padding-left:200px;}
input{width:100%;box-sizing:border-box;}​

示例:http://jsfiddle.net/48fNt/(至少在chrome中工作)

也许你还需要玩白色空间:nowrap和最小宽度。

答案 1 :(得分:0)

你无法单独使用CSS。使用 jQuery AutoResize Plugin

 $('#myTextBox').autoResize({
        onResize : function() {
           //Do something on resize
        },
        animateCallback : function() {
           //Do something after resize
        },
        animateDuration : 300,//Duration
        extraSpace : 40//Extra Space
    });

答案 2 :(得分:0)

据我所知,您不能只使用CSS进行输入,但您可以使用div {{ 模仿 此行为3}} attribute - demo contenteditable

HTML

<div contenteditable></div>

CSS

div {
    min-width: 150px;
    width: auto;
    border: solid 1px #ccc;
    display: inline-block;
}

答案 3 :(得分:0)

您可以通过多种方式实现这一职位 http://jsfiddle.net/rHqE7/4/

<div id="wrap">
<div id="name">Name</div>
<input type="text" name="fname" id="text" />
</div>​

#wrap{width:500px;overflow:auto;}​
#name{float:left;width:100px;font-size:16pt;padding:10px 5px;}
#text{float:left;min-width:300px;max-height:20px;border:1px solid black;padding:3px;}