Подтвердить что ты не робот

Скрытие вертикальной полосы прокрутки в многострочном текстовом поле в IE

У меня многострочное текстовое поле:

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

В том, что есть вертикальная полоса полосы прокрутки, даже если текст внутри текстового поля не занимает 10 строк.
В firefox этого не происходит, полоса прокрутки появляется только в том случае, если текст превышает 10 строк.

Что можно сделать?

4b9b3361

Ответ 1

Установите переполнение стиля CSS в auto:

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

Поведение по умолчанию отличается между браузерами, поэтому вы видите другое поведение в IE и FF, когда overflow не указывается.

Чтобы переопределить поведение браузера по умолчанию для всех многострочных текстовых полей на вашей странице, вы можете добавить его в определение стиля. Тогда вам не нужно включать встроенный стиль в каждое текстовое поле:

Примечание. Многострочный TextBox отображается с помощью HTML-тега <textarea>, поэтому мы укажем стиль css для типа элемента textarea.

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>

Ответ 2

Это поведение IE по умолчанию. Значение переполнения по умолчанию видимо, и IE добавляет отключенную полосу прокрутки, даже если содержимое не переполняется.

Вы можете добавить класс css в элемент

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

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