是否可以仅使用CSS自动调整输入文本和文本区域的大小或自动增长?

是否可以仅使用CSS自动调整输入文本和文本区域的大小或自动增长?,css,xhtml,Css,Xhtml,jquery脚本是自动生成表单字段的两个非常好的实例 同样,可以使用Javascript通过多种方式实现自动调整大小 但是,只是想知道,是否有任何类型的自动大小或自动增长与CSS只?我对CSS的了解还不够深入,所以你知道,有了所有这些伪类和CSS3,我想这是可能的 或者,唯一的选择可能是使用或style=“width:em;”..不,您不能。真正地只能使用JavaScript完成此操作。您可以将div元素转换为contentEditable。它的行为方式与textarea相同,但好处是您只需要使

jquery脚本是自动生成表单字段的两个非常好的实例

同样,可以使用Javascript通过多种方式实现自动调整大小

但是,只是想知道,是否有任何类型的自动大小或自动增长与CSS只?我对CSS的了解还不够深入,所以你知道,有了所有这些伪类和CSS3,我想这是可能的


或者,唯一的选择可能是使用
style=“width:em;”
..

不,您不能。真正地只能使用JavaScript完成此操作。

您可以将div元素转换为contentEditable。它的行为方式与textarea相同,但好处是您只需要使用CSS,而不需要使用各种插件

$(<selector>).attr(contentEditable, 'true');
$().attr(contentEditable,'true');
在CSS中,您在高度中设置了m
最大高度
,甚至
-webkit transition
属性也适用于动画。不要忘了将
word wrap
属性设置为
break word
,以便单词保留在元素中。

对元素使用属性,然后根据需要对其进行自定义:



我会等上几天,希望有人能提出不同的要求!;)我不明白。您在那里提供了一个jQuery代码段。这就是javascript。只使用CSS的关键是要避免使用客户端脚本。jqeury代码段之所以存在,是因为您需要将其设置为contenteditbale,这意味着您可以输入一些文本。否则,它的行为将类似于普通div。如果您想获得它的值,您可以使用CSS像普通div一样对其进行操作。而不是在javascript中键入
.innerHTML
。您可能已经知道;)一大好处是:一些Jquery插件实际上计算文本长度,但不是100%确定。我测试的一些插件的自动签名是不均匀的。当涉及到文本溢出时,contentEditbale Div的行为与普通Div类似。您可以自己定义它在CSS中的行为,并且没有不均匀性autogrowing@SzymonWygnański你应该把你的评论作为一个单独的答案,OP应该把它标记为正确的,因为这正是OP在他的问题中要求的。啊,什么时候不行?我想知道这实际上是什么时候实现的。警告:
contenteditable
不能替代本机输入字段
<div contenteditable="true"></div>