隐藏IE中多行文本框中的垂直滚动条

时间:2009-09-11 09:37:21

标签: asp.net html

我有一个多行文本框:

<asp:TextBox ID="txtBody" runat="server"  TextMode="MultiLine" Rows="10" Width="95%" />

即使文本框内的文本没有占用10行,也会有一个垂直滚动条 在Firefox中没有发生,只有当文本超过10行时才会出现滚动条。

可以做些什么?

2 个答案:

答案 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" />