给定 a<select>
和一个<input>
元素,都指定为200px宽:
<!doctype html>
<body>
<select style="width: 200px"></select><br/>
<input style="width: 200px" type="text">
</body>
<html>
一个最终比另一个宽1,2,3,4:
这是什么原因?
如果有人能给出原因,也许解决方案会很明显,而不是hack&pray。
布局
应用的布局是完全合理的:
更新 1:当我写这个问题时,Chrome 将自己从17更新到19。
更新 2:将填充<input>
从1更改为零:
<!doctype html>
<body>
<select style="width: 200px"></select><br/>
<input style="width: 200px; padding: 0" type="text">
</body>
<html>
不会使<input>
200px宽(即不修复它)。
更新 3: 应用 CSS 重置:
<!doctype html>
<head>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
</style>
<body>
<select style="width: 200px"></select><br/>
<input style="width: 200px; padding: 0" type="text">
</body>
<html>
不能解决问题:
此外,我对解决方案的兴趣不如解释。
脚注
- 1、2、3 Chrome
1719、Firefox、Internet Explorer 9 - 4在 Windows 7 64 位
奖金阅读
- 如何在 IE6 中使 <option> 比 <select> 更宽?(我不希望选项比选择更宽,我没有使用 IE6)
- 如何在选择列表中显示扩展选项?(下拉菜单的宽度匹配控件的宽度)
- 比 Containing Div 更宽的 HTML 输入元素(此处不包含
<div>
) - 如何排列 HTML 输入元素?