在IE

2009-09-11 93 views
11

隱藏垂直滾動條的多行TextBox我有一個多行TextBox:在IE

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

在IE中存在,即使內部文本框文本不佔用10線垂直滾動條。
在Firefox中不會發生,只有文本超過10行纔會出現滾動條。

可以做些什麼?

回答

17

設置CSS樣式溢出到汽車:

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

默認行爲瀏覽器之間的區別,這就是爲什麼你看到在IE和FF不同的行爲時未指定overflow的。

要覆蓋您的網頁上的所有文本框多的默認瀏覽器的行爲,你可以在一個樣式定義添加。那麼你就需要包括每個文本框的內聯樣式:

注:多行TextBox使用HTML標籤<textarea>呈現,所以我們將指定textarea元素類型的CSS樣式。

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>

+0

笑,我們的代碼dosnt工作時,我加入了一些新的額外的文本,以第二個div。我再次看到滾動條。確實, – 2015-10-06 14:30:00

4

這是IE瀏覽器的默認行爲。溢出的默認值是可見的,即使內容沒有溢出,IE也會添加一個禁用的滾動條。

您可以添加CSS類的元素

<style> 
    .Over { overflow: auto; width: 95%; } 
</style> 

<asp:TextBox ID="txtBody" runat="server" CssClass="Over" TextMode="MultiLine" Rows="10" /> 
+0

比內聯樣式更好。 – Alextronic 2010-02-18 18:21:56

+3

@Alextronic:關鍵是你需要使用CSS樣式'overflow:auto;'。你如何選擇實現它是可選的,並不是真正的問題在這裏。你也可以爭辯說最好使用一個單獨的css文件,但這與問題無關。無論哪種方式工作。內聯樣式用最少量的代碼和複雜度來演示。 – awe 2012-08-01 10:53:14