html - 空单元格的宽度固定为 0?

标签 html css tablelayout

我有一个包含 5 列的表格,其中 2 列具有固定宽度,其他 3 列没有。不同的浏览器对此解释不一致。

看看this fiddle在不同的浏览器中查看我的意思。

Firefox 和 IE9 以我认为正确的方式呈现它:所有单元格的宽度统一为 20%(两个单元格的宽度设置为 20%,其余 60% 分配给其余三个单元格)。

Chrome、Opera、IE7 和 IE8 强制没有设置宽度的空单元格的宽度为零,这反过来又迫使其他两个单元格各自拉伸(stretch)到 50% 的宽度。将内容放入三个空单元格之一会使它们占据所有可用宽度(如果一个单元格有内容,则为 60%,如果有两个,则为 30%,等等)。同样,从具有设置宽度的两个单元格之一中删除内容会导致宽度强制为 0。

哪些浏览器做对了,哪些浏览器做错了?

此外,我仔细阅读了有关表的 W3C 规范,但只找到了 description of the empty-cells property ,它应该控制带有边框/背景的空单元格的渲染,但这不会影响单元格的宽度。我以为 table-layout property可能会成功,但是在 Chrome 中设置 table-layout:fixed 确实会显示所有列,但无法(或者至少我没有看到)在 Firefox 中做相反的事情.如果您能对此进行详细说明和/或指出涵盖此内容的 W3C 规范的正确部分,我将不胜感激。

最佳答案

问题的出现是因为 W3C 似乎还没有涵盖它,他们没有提出任何“正确”的方法来处理这种情况。浏览器可以自由地以他们希望的方式解释它,在我看来,IE9 和 Firefox 就是这样做的。

关于html - 空单元格的宽度固定为 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9669452/

相关文章:

html - 在 CSS 中创建一个 2 列布局

android - 如何在以编程方式创建的 TableRows 之间添加分隔线?

html - 导航菜单中选定 anchor 链接的背景高度

javascript - JavaScript 随机数函数的未知问题

javascript - jquery href 和 onclick 分离

HTML5 <VIDEO> 嵌入问题

css - Angular 2动态样式绑定(bind)

html - IE 中显示的菜单

javascript - 将 jquery 应用于加载到 div 的页面

html - 强制元素不水平拉伸(stretch)表格单元格