It was really pain every time when I tried to figure out why my ASP.Net built server controls (TextBox, Button, or Label) looks different in IE and FireFox. And honestly, I never figured out. Once it appears, I either leave it the way it is or use property “column” instead as long as it renders the way it is supposed to in IE. After all, IE still dominates the market. Ryan Farley's Rendering Size (and other things) Correctly in FireFox explains why it happens and how we can work around to get over with it. A very good approach.
Obviously, the reason why we don't see the TextBoxes with the specified width in FireFox is because they are rendered without the width set at all. That just sucks. The reason why the TextBox's Width property is rendered as style=”width:125px;” in IE but not in FireFox is because FireFox is seen as a down-level browser in ASP.NET 1.x so it is rendered without the style attribute.
...
A better way to fix the problem is to force ASP.NET to recognize FireFox as an up-level browser that supports things like style, etc so that controls will automagically render themselves properly as they do in IE. To do this, we can either modify the web.config file for the web page or modify the machine.config file so that the change is recognized in all sites/pages hosted on that machine.
BrowserCaps and other Browser Testing/Detection Resources - slingfive.com
<BROWSERCAPS> Element