2011-04-06 73 views
7

3I'm更改文件输入HTML标记的宽度:Firefox 4文件输入宽度错误?

<input type="file" id="newFilename" name="Filename"> 
input[type="file"] {width:380px !important} 

在Firefox 3,铬和Safari它完美。

在Firefox 4中我无法正常工作。宽度保持不变!

演示:http://jsfiddle.net/LwzW9/1/

使用Firebug检查我注意到的<input>的大小而变化,但我实在不明白的变化:(见图片)

enter image description here

任何想法?这是一个已知的错误?

谢谢。

+0

您有任何HTML我们可以看看吗? – JohnP 2011-04-06 12:17:35

回答

13

我有同样的问题使用uniform.js时,这种解决了这个问题:

<input type="file" size="X"> 

$('input[type="file"]').attr('size', 'X'); 

,其中X是一个数字的你定义的字符。在其他浏览器中,为了安全起见,您还应该在CSS中拥有正确的宽度。

小提琴:http://jsfiddle.net/EfntV/

2

我注意到你有

width: 380px !important; //line 94 

,因为你使用的是更具体的这覆盖的#newFilename {width:280px}

注意我不是100%肯定它是如何工作的价值CSS选择器来改变宽度。将需要一些样品来看看

+0

#新文件名{宽度:280px}只是为了举例。它的280px或380px!important或1999px!重要性无关紧要。输入大小从不改变。 (注:更新答案以防止混淆) – Jonathan 2011-04-06 12:38:59

+0

ahh ok。你可以在小提琴或其他东西上重现问题吗?可以帮助确定这是一个常见问题还是特定于您的应用程序 – JohnP 2011-04-06 12:50:33

+0

是的,你可以在这里查看:http://jsfiddle.net/LwzW9/1/ – Jonathan 2011-04-06 13:00:47