Я выкладывал графический интерфейс ASP.NET и обнаружил, что меня смущает рендеринг элемента управления <asp:TextBox />
.Кажется, что слева и справа от элемента управления <input>
, который отображается в ASP.NET TextBox, добавляется поле по умолчанию.Ниже приведен пример моего кода.Результирующий элемент <input>
не выравнивается заподлицо с контейнером <div>
, даже если текстовый элемент над ним («Некоторый текст») выровнен заподлицо.
<div style="float:left;">
<b>Some Text</b>
<asp:TextBox ID="txtTextBox" runat="server" TextMode="MultiLine" Style="width:300px;height:300px;" />
</div>
Совершенно случайно я обнаружил, что еслиСначала я добавил элемент <p />
в качестве первого элемента в <div>
, чтобы элемент <input>
выровнялся на одном уровне.Вот пример ...
<div style="float:left;">
<p />
<b>Some Text</b>
<asp:TextBox ID="txtTextBox" runat="server" TextMode="MultiLine" Style="width:300px;height:300px;" />
</div>
Кто-нибудь знает, почему это так?Почему элемент <input>
не выравнивается вровень с <div>
, но при добавлении <p />
делает <div>
, который он делает?
ОБНОВЛЕНИЕ - я обнаружил, что проблема заключалась в режиме совместимости с Internet Explorer.Он был включен и поэтому не следовал правилам CSS.После отключения режима совместимости текстовое поле выстроилось правильно.Спасибо за ответы на все вопросы.Они были ВСЕ великолепны и помогли мне отследить проблему.+1 ко всем.Я ответил на пост, чтобы будущие читатели могли легче найти ответ.