s:textfield与s:password标签的size属性显示问题。

<table width="291" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="92" bgcolor="#0000FF"><span class="STYLE2">用户名:</span></td>
<td width="97"><s:textfield name="userid" size="10" maxlength="10"/></td>
<td width="102">&nbsp;</td>
</tr>
<tr>
<td bgcolor="#0000FF"><span class="STYLE2">密码:</span></td>
<td><s:password name="pw" size="10" maxlength="10"/></td>
<td>&nbsp;</td>
</tr>
<tr>
<td bgcolor="#0000FF"><span class="STYLE2">验证码:</span></td>
<td><s:textfield name="vercode" size="10" maxlength="4" /></td>
<td><img id="vercodeImg" src="vercode_Img"><a href="#" class="STYLE3" onClick="refresh()">换个验证码</a></td>
</tr>
<tr>
<td></td>
<td><s:submit value="登陆" align="center"/></td>
<td><s:reset value="取消" align="center"/></td>
</tr>
</table>

如上的代码:
<s:textfield name="userid"  size="10" maxlength="10"/>
<s:password  name="pw" size="10" maxlength="10"/>
size都为10,但是显示效果却不同,s:textfield 显示的是实际的10要长,请问为什么呢?
效果图如附件:


问题补充:
效果图如附件
问题补充:
size="10"
就是指定text框的大小吧,
密码框也是size=“10”,但它们的长度不同呢?
以前做jsp时,直接写html标记每这个问题呢?
问题补充:
怎么在s:textfield标签中加入style="width:120px"
我直接加入报错。

问题补充:
谢谢 ,
应该为cssStyle="width:120px"
大写Css会报错。。

html的size属性并不是你认为的能输入多少字
而是可视大小
有一定计算规则
比如
默认size=3就是系统默认96dpi(字号)下的16px

这是一些浏览器的问题。对于这个问题,在IE下设置size是没办法让他们一样长度的。

这个你应该通过css来控制,对于这2个input,都加一个style="width:120px"

因为浏览器就是这个样子,没有办法。你可以通过设置他们的width来解决。

浏览器对于type=text跟type=password2个的所指向的size不同导致长度不会相同。

比如说:浏览器认为text的每个字的大小是11,而password每个字的大小是10,那么2个size都为10,但是最后不会相等

html标准标签属性的size并不是你认为的能容纳多少字
是按系统字号换算后的长度,如果你是标准的字体,那么应该会长1点点

貌似我看错问题了 前面当我没说

CssStyle