表格布局固定和全行colspan与动态列

时间:2017-02-19 20:08:50

标签: html css html-table css-tables

我试图设置表格列宽,但我注意到它在FF中有效时,在Chrome / Edge中完全被忽略。修复非常简单 - 将表格布局设置为固定。

它使所有浏览器都尊重列宽,但突然只有一个单元格的行需要跨越所有列,开始表现得很糟糕。由于他们将colspan设置为20(超过实际列),他们开始实际跨越不存在的colums打破布局。

修复也很容易 - 将colspan设置为实际列数。不幸的是,它们是动态的,并且根据用户的不同而变化。但是我仍然需要有一个单元格跨越所有表格。

每次生成表格时我都可以计算列数并将其放在colspan中,但它的方式不太理想。我不应该实现这种逻辑,并且只是为了愚蠢的格式而混淆实际的逻辑。

问题:如何让colspan覆盖固定布局表中的所有列,而不是在每次生成表时指定列数?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,而不是"肮脏的黑客"这解决了这个问题。由于似乎无法用colspan做到这一点,我设置了:

  • 表:
  

table-layout:fixed;

  • 需要colspan的表行:
  

身高:28;

  • 表格细胞到colspan:
  

位置:绝对;   宽度:100%;   行高:28px;   text-align:center;

这种方式即使理论上单元格只覆盖第一列,它也会浮动"浮动"在整行上面,因为它的宽度设置为100%,它完全覆盖它与colspan设置为列数的方式相同。

[https://jsfiddle.net/abvL5jbd/][Demo]

适用于FF,Chrome,Edge。