【发布时间】:2015-08-11 19:19:44
【问题描述】:
我找不到一个明确的答案,如果我错过了一个,请原谅。
我希望我的文本输入宽度能够自动调整到其中的内容大小。首先是占位符文本,而不是某人输入的实际文本。
我创建了以下示例。目前,这些框比我的占位符文本大得多,造成了大量的空白,当我输入一些东西时,这显然是一回事。
我已经尝试过宽度自动、一些 jQuery 以及我在互联网上找到的麻线和泡泡糖。但是还没有任何效果。有什么想法吗?谢谢!
HTML:
<span><p>Hello, my name is </p></span>
<span><input type="text" id="input" class="form" placeholder="name"></span>
<span><p>. I am </p></span>
<span><input type="text" id="input" class="form" placeholder="age"></span>
<span><p> years old.</p></span>
CSS:
.form {
border: 0;
text-align: center;
outline: none;
}
span {
display: inline-block;
}
p {
font-family: arial;
}
【问题讨论】:
-
没有什么好的方法可以做到这一点。您必须编写一个 javascript 函数来检查输入更改时字符串的长度,然后根据 # of chars * 字符宽度调整输入的宽度。看起来代码已经在这里了:stackoverflow.com/questions/3392493/…。只需调整输入===''时的逻辑,然后根据占位符制作宽度
-
观察:您的姓名和年龄输入不应具有相同的 id。
-
这里已经讨论了可能的解决方案:stackoverflow.com/questions/9328682/…
-
@vimala 他还想要一件事,即在加载时输入将占用占位符的大小,然后它将按照您在上面讨论的问题中所说的值起作用,他只要求输入值而不是占位符
-
请检查这个关于输入调整大小的答案stackoverflow.com/a/62881524/12164315
标签: javascript jquery html forms input