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;
}

結果の表示は、テキスト ボックスの右側に約 0.5 インチの新鮮な空気が追加されていることを示しています。

テキストボックスの右側にスペースがある表

作成された 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

IE8 に問題がmax-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 に答える