我在我的应用程序中使用 textarea 组件,并动态控制它们的高度。当用户键入时,只要有足够的文本,高度就会增加。这在 IE、Firefox 和 Safari 上运行良好。
但是,在 Safari 中,右下角有一个“手柄”工具,允许用户通过单击和拖动来调整文本区域的大小。我还注意到 stackoverflow Ask a Question 页面中 textarea 的这个问题。该工具令人困惑,基本上会妨碍您。
那么,有没有办法隐藏这个调整大小的句柄?
(我不确定“句柄”是否是正确的词,但我想不出更好的词。)
您可以使用 CSS 覆盖调整大小行为:
textarea
{
resize: none;
}
或者只是简单地
<textarea style="resize: none;">TEXT TEXT TEXT</textarea>
有效属性为:both、horizontal、vertical、none
使用以下 CSS 规则为所有 TextArea
元素禁用此行为:
textarea {
resize: none;
}
如果您想为某些(但不是全部)TextArea
元素禁用它,您有几个选项(感谢 this page)。
要禁用将 name
属性设置为 foo
(即 <TextArea name="foo"></TextArea>
)的特定 TextArea
:
textarea[name=foo] {
resize: none;
}
或者,使用 ID(即 <TextArea id="foo"></TextArea>
):
#foo {
resize: none;
}
请注意,这仅与基于 WebKit 的浏览器(即 Safari 和 Chrome)相关,它们将调整大小句柄添加到 TextArea
控件。
您可以简单地使用 CSS 覆盖调整大小行为:
textarea
{
resize: none;
}
safari max-height max-width 机会也适用于 firefox 4.0 (b3pre)。顺便说一句,这里有很好的例子:http://www.alanedwardes.com/posts/safari-and-resizable-textboxes/
不定期副业成功案例分享
<textarea>
的大小可能是一个可用性问题。设置resize:vertical;
通常是更好的选择。它不应该弄乱你的布局,它会给用户更大的控制感。