我有一个MultiLine asp:Textbox(针对那些非asp人士的标准html文本区域),我希望自动调整大小以使其仅通过CSS适应所有内容.原因是我希望它在Web浏览器中具有指定的高度,并且启用了滚动.
我已经实现了打印样式表,但是希望在打印时不会隐藏任何溢出的情况下显示位于textarea中的所有文本.
我可以在print.css文件问题中手动指定textarea的高度,因为这些字段是可选的,并且350px的空白框不是最佳的,并且总有比此更大的文本的可能性…
我尝试使用:
height: auto;
height: 100%;
分别在IE和Firefox中,当您未在asp:Textbox标记上指定高度时,.NET必须生成的表单的html标记中存在指定数量的行,这些似乎已被覆盖.这似乎只接受数值测量,例如px em等.
有任何想法吗?
最佳答案
您所要求的(css解决方案)是不可能的.
textarea的内容不是html元素,因此css不能使用它来计算textarea的大小.
唯一可行的方法是Javascript,例如读取scrollHeight属性,并使用该属性设置元素的高度.仍然scrollHeight属性是非标准的,因此它可能不适用于所有浏览器.