我在使用Fire Fox 3.6时遇到文本框大小的问题。 的< input class =“dat”type =“text”name =“rejection_reason”size =“51”maxlength =“70”onchange =“on_change();”>
样式如下: .dat { font-family:verdana,arial,helvetica; font-size:8pt; font-weight:bold; text-align:left; vertical-align:middle; 背景色:白色; }
Fire Fox中的文本框大小比IE6小。
不确定为什么IE6和FireFox会显示差异大小的文本框。
答案 0 :(得分:3)
开发不同的Web浏览器引擎时的正常问题。 请注意,您可能应该为FireFox 3.6而不是IE6开发,因为IE6已经设置为“旧浏览器”,而微软不再支持它。将您的代码更改为在FireFox,IE,Chrome,Opera中正常运行。 在以下网址寻找更多信息: https://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site
答案 1 :(得分:2)
尝试在css中指定宽度。如果仍然没有,你可以在宽度字的前面附加一个星号作为第二个条目,它只适用于IE6。
.dat
{
width: 100px;
*width: 105px; -- or whatever makes it look correct
}
编辑:感谢特殊角色的更新。
答案 2 :(得分:2)
您尚未指定其宽度,只需要通过size属性获取51个字符。我建议删除Size =“51”属性并添加宽度样式:666px;
编辑:在您的评论之后 首先,仅仅因为你并不意味着你应该。解决这个问题的正确方法是改变你所有的< input type =“text”>使用css类或css宽度来定义它们的宽度。
但是,以下jQuery将为每个具有size属性
的输入类型= text添加宽度样式jQuery( // on Document load
function($){ // run this function
$('input[type=text][size]') // find all input type=text with a size attr
.each( // for each element found
function(index, Element){ // run this function
var size = $(this).attr('size'); // get size attrubte value
$(this).width((size * 0.6)+"em"); // set the css width property to
}); // a nasty huristic
}
);
现在,由于这只会影响指定大小的输入,因此当您触摸每个页面时,您可以删除大小attr并将其替换为Css大小,因此最终您将不需要此脚本。
答案 3 :(得分:2)
有一个更完整的解释,我只需要给经理;
IE6建于2000年左右,当时忽略了几个重要的网络标准。 IE6有点“吸取教训”; IE7更适合遵循这些标准,IE8更好。
Firefox是围绕Netscape / Mozilla构建的,重要的是,他们尽可能地遵循公共标准。 Firefox在很大程度上表现得像Safari,Chrome,Opera以及大量微型市场份额的浏览器。
商人问: 那么,为什么支持标准,而不是IE,这是块中的大孩子?几乎所有客户都使用IE!
<强>答案:强> 因为IE也在慢慢走向标准。如果我们支持Firefox,IE8很简单,我们可能也会获得IE7,几乎没有任何变化。 IE6是美中不足之处。
如果我们支持IE6--原始提案 - 那么IE7是一个特例,IE8是另一个特例,Firefox是一个特例,依此类推。
如果我们可以鼓励用户远离IE6,这是我们最好的情况。我相信当Server 2003 SP1离开支持时,微软正式终止了IE6的所有支持 - 包括安全补丁 - {3}}。 April 2009已完全停止支持IE6,例如,礼貌地让用户知道他们需要升级“以获得完整的网站体验”。像Google这样的网站为运行IE6的用户提供了一个非常漂亮的CSS弹出窗口,为他们提供了一些升级选项。
但与此同时,由于客户确实使用它,IE6将继续存在,并且最容易 - 也是最容易维护的 - 构建标准,并且直到它完成后才能回到IE6。
答案 4 :(得分:1)
@size属性给出一个字符大小。但是,除非您使用等宽字体,否则字符本身的大小不是明确定义的。另外,不同的渲染引擎可以使用不同的规则来进行字符间距和/或字距调整。因此,最后,该属性只是对浏览器的一个模糊提示。
您是否尝试过类似style = "width:51em;"
的内容?没有测试过,但宽度属性得到了很好的支持,所以我希望这会有用。如果您想要更精确的尺寸,也可以使用绝对(像素)单位。
希望这有帮助。