[英]HTML text field size with IE11 on Windows 8.1
我正在移植当前在IE6和IE8中运行的Web应用程序,以在Windows 8.1上的IE11中运行。
最严重的兼容性问题是关于文本字段的大小(即长度)。 与旧版浏览器相比,它们的显示时间通常长几毫米,从而淘汰了许多页面格式-例如。 由三部分组成的日期字段将溢出到下一行。
在我看来,问题在于使用SIZE = n来指定字符的字段长度。 看来这在IE8和IE9之后是不一致的,并且最好使用STYLE =“ WIDTH:npx” 。 链接: http : //msdn.microsoft.com/en-us/library/ie/ff986079(v = vs.85)
我试图找到一种避免将更改应用于潜在的数百个字段的解决方案。
到目前为止,我已经研究了两种可能的解决方案:(1)删除IE11在文本字段中放入的“ x”(清除按钮),以防造成大小增加。 不幸的是,由于浏览器必须在兼容模式下运行,因此建议的解决方案(设置ms-clear)将无法使用。 (2)增加窗口大小。 这对某些字段有帮助,但对许多字段却没有帮助,并引起了其他不良的屏幕格式问题。
HTML中一组受影响的字段以及相关的CSS类定义的示例如下:
HTML:
<TABLE WIDTH="625" BORDER="0">
<!-- Column 1 --><COL WIDTH="100">
<!-- Column 2 --><COL WIDTH="115">
<!-- Column 3 --><COL WIDTH="102">
<!-- Column 4 --><COL WIDTH="93">
<!-- Column 5 --><COL WIDTH="40">
<!-- Column 6 --><COL WIDTH="20">
<!-- Column 7 --><COL WIDTH="137">
<TR>
<TD>Date of Birth:</TD>
<TD><INPUT TYPE="hidden" ID="DateOfBirth" NAME="DateOfBirth" SIZE="10" CLASS="clsText" ONBLUR="validateField()" ONFOCUS="resetFldFocusFlag()">
<INPUT ID="DateOfBirthDay" NAME="DateOfBirthDay" SIZE="2" CLASS="clsText" ONKEYUP="autoDateTab(this);" MAXLENGTH="2" ONBLUR="validateField()" ONFOCUS="resetFldFocusFlag()"> /
<INPUT ID="DateOfBirthMonth" NAME="DateOfBirthMonth" SIZE="3" CLASS="clsText" ONKEYUP="autoDateTab(this);" MAXLENGTH="3" ONBLUR="validateField()" ONFOCUS="resetFldFocusFlag()"> /
<INPUT ID="DateOfBirthYear" NAME="DateOfBirthYear" SIZE="4" CLASS="clsText" ONBLUR="validateField();" MAXLENGTH="4" ONFOCUS="resetFldFocusFlag()"></TD>
<TD>Age Estimated?
<INPUT TYPE="checkbox" NAME="AgeEstimated" ID="AgeEstimated" ONCLICK="AgeEstimatedEffects()" SIZE="1" VALUE="Y" ONBLUR="validateField()" ONFOCUS="resetFldFocusFlag()"></TD>
<TD>App. Age or From:</TD>
<TD><INPUT ID="ApparentAge" NAME="ApparentAge" MAXLENGTH="3" SIZE="3" CLASS="clsText" ONBLUR="validateField(); MoveFocusToAgeTo()" ONFOCUS="resetFldFocusFlag()"></TD>
<TD>To:</TD>
<TD><INPUT CLASS="clsText" ID="AgeTo" NAME="AgeTo" SIZE="3" MAXLENGTH="3" ONBLUR="validateField()" ONFOCUS="resetFldFocusFlag()"></TD>
</TR>
</TABLE>
CSS:
.clsText
{
COLOR: black;
BACKGROUND-COLOR: white;
FONT-SIZE: 11px;
FONT-FAMILY: 'Microsoft Sans Serif';
TEXT-ALIGN: left;
TEXT-DECORATION: none
}
上面用CLASS =“ clsText”定义的所有字段都受到此问题的影响。
任何想法将不胜感激。
以百分比指定列的宽度
通过以百分比(而不是固定长度)定义其大小来更改文本框的大小定义。 这可以通过在输入标签中使用style属性来实现。 style =“ width:20%”而不是像size =“ 4”这样以像素为单位进行指定
我知道这将需要一些时间来实现,但是将是一个长期的解决方案,并且在调整窗口大小的情况下也会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.