html – 如何获得等宽度的输入和选择字段

在表单上,​​我有一个选择和两个输入字段。这些元件是垂直对准的。不幸的是,我不能得到这些元素的宽度相等。

这里是我的代码:

<select name="name1" style="width:198px">
  <option>value1</option>
  <option>value2</option>
</select><br/>
<input type="text" name="id1" style="width:193px"><br/>
<input type="text" name="id2" style="width:193px">

对于上面的例子,select元素的最佳宽度是198或199像素(当然我尝试193px,但差别是主要)。我认为,这取决于分辨率,在各种计算机和浏览器,因为这些元素没有相等的宽度(有时我认为差异是大约1或2像素)。我试图在div或表行中设置这些元素,但它没有帮助。

问:我如何获得这些元素的精确相等的宽度?

更新答案

下面是如何更改输入/ textarea / select元素使用的框模型,以使它们的行为方式相同。您需要使用对每个浏览器使用前缀实现的box-sizing属性

-ms-box-sizing:content-box;
-moz-box-sizing:content-box;
-webkit-box-sizing:content-box; 
box-sizing:content-box;

这意味着我们之前提到的2px差异不存在。

示例在http://www.jsfiddle.net/gaby/WaxTS/5/

注意:在IE它的工作从版本8及以上..

原版的

如果你重置它们的边框,那么select元素总是比输入元素小2像素。

示例:http://www.jsfiddle.net/gaby/WaxTS/2/

http://stackoverflow.com/questions/4073768/how-to-get-equal-width-of-input-and-select-fields

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:html – 如何获得等宽度的输入和选择字段