【发布时间】:2011-01-20 21:43:51
【问题描述】:
我正在使用具有固定宽度列的表格来设置表单的样式,并且我希望 <td> 中的输入元素填充容器。我知道 CSS 盒子模型,并且我知道元素会随着 width: 100% 而溢出,但问题在于它的一致性。
<input> 元素按预期渗透,但 <select> 元素不会。这导致我的字段无法正确排列。我已经尝试了所有属性,如溢出、显示、空白……它没有任何区别。 <select> 元素是怎么回事?我可以在 Firebug 中看到它们与输入元素具有相同的框模型属性,但它们的呈现方式不同。
我使用的是 HTML 5 文档类型,这在 Firefox 和 Chrome 中都会发生。
现在,我正在使用一个 JS 函数来解决这个问题,该函数选择所有具有类拉伸的元素并计算并设置静态宽度以使其适合容器内。这完美地排列了表单的元素。 (我不得不排除 <select> 元素,因为它们的宽度已经可以了......奇怪的怪癖。)
有没有纯 CSS 解决方案?我不想在每次更新页面的一部分时都运行这个函数,比如在 AJAX 调用上......
【问题讨论】:
-
可以看一些源代码吗?
标签: javascript html css forms width