0

我在代码隐藏中的 ASP.Net 页面上创建了一些 TextBox 控件,我发现在结果中的控件之后出现了虚假空间。ASP.Net 看起来像这样:-

<asp:Table runat="server" id="ControlsTable" BackColor="Orange"></asp:Table>

(我已将颜色设置为花哨的颜色以更清楚地显示结果。)创建它们的代码如下:-

TableRow  table_row  = new TableRow();
TableCell table_cell = new TableCell();
Label     new_label  = new Label(); 
new_label.Text       = //Some text
table_cell.Controls.Add(new_label);
table_row.Controls.Add(table_cell);
table_cell           = new TableCell();
TextBox text_box     = new TextBox();
text_box.ID          = //Give it an ID
text_box.CssClass    = "textInput";
text_box.MaxLength   = 10;
text_box.Attributes.Add("onkeyup", "validate_everything()");
text_box.Attributes.Add("autocomplete", "off");
text_box.BackColor   = OK_COLOUR;
table_cell.Controls.Add(text_box);
table_row.Controls.Add(table_cell);
ControlsTable.Controls.Add(table_row);

迭代了很多次。此文本控件的 CSS 类如下所示:-

.textInput
{
    font-family:Times New Roman;
    font-size:medium;
    max-width:100px;
}

结果显示显示大约半英寸的新鲜空气正在添加到文本框的右侧:-

文本框右侧有空格的表格

创建的 HTML 如下所示:-

<table id="ControlsTable" style="background-color:Orange;">
  <tr><td>
    <span>AlSol</span>
  </td><td>
    <input name="Text_AlSol"
           type="text"
           value="0"
           maxlength="10"
           id="Created_ID"
           class="textInput"
           onkeyup="validate_everything()"
           autocomplete="off"
           style="background-color:White;" />
  </td></tr>

有谁知道是什么原因造成的,我能做些什么?我发现在 CSS 中调整文本框的宽度可以让我扩大和缩小文本框,但橙色位的宽度保持不变(文本框不能比这更宽)。

编辑这是使用在 Windows XP 上运行的 Internet Explorer 8。

4

1 回答 1

1

看来 IE8max-width<input>.

如果改为width改为,多余的间距就会消失。

.textInput {
    font-family: "Times New Roman";
    font-size: medium;
    width: 100px;
}

对我来说看起来像是一个 IE8 怪癖。http://jsfiddle.net/nRrsA/6/show

于 2013-08-07T08:57:04.473 回答