我在代码隐藏中的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。
答案 0 :(得分:1)
IE8似乎与max-width
上的<input>
存在问题。
如果您将其更改为width
,则额外的间距会消失。
.textInput {
font-family: "Times New Roman";
font-size: medium;
width: 100px;
}
对我来说看起来像IE8的怪癖。 http://jsfiddle.net/nRrsA/6/show