我有一个多行文本框:
<asp:TextBox ID="txtBody" runat="server" TextMode="MultiLine" Rows="10" Width="95%" />
即使文本框内的文本没有占用10行,也会有一个垂直滚动条 在Firefox中没有发生,只有当文本超过10行时才会出现滚动条。
可以做些什么?
答案 0 :(得分:18)
将CSS样式溢出设置为auto:
<asp:TextBox ID="txtBody" runat="server" TextMode="MultiLine"
Rows="10" Width="95%" style="overflow:auto;" />
浏览器的默认行为不同,这就是为什么在未指定overflow
时在IE和FF中看到不同的行为的原因。
要覆盖页面上所有多行文本框的默认浏览器行为,您可以将其添加到样式定义中。然后,您不需要在每个文本框中包含内联样式:
注意:使用HTML标记<textarea>
呈现多行TextBox,因此我们将为textarea
元素类型指定css样式。 < / p>
textarea {
overflow: auto;
}
<textarea id="txtBody1" rows="5">Text in
textbox
with
many
lines,
so that
scrollbar
will
appear.
</textarea>
<textarea id="txtBody2" rows="5">Smaller text, no scrollbar.</textarea>
答案 1 :(得分:4)
这是IE的默认行为。溢出的默认值是可见的,即使内容没有溢出,IE也会添加禁用的滚动条。
您可以将css类添加到元素
<style>
.Over { overflow: auto; width: 95%; }
</style>
<asp:TextBox ID="txtBody" runat="server" CssClass="Over" TextMode="MultiLine" Rows="10" />