table-layout:fixed 布局注意事项

Posted xianshenglu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了table-layout:fixed 布局注意事项相关的知识,希望对你有一定的参考价值。

table-layout:auto 是表格布局中的默认值,采用浏览器自动表格布局算法,但是缺点会很明显

  • td指定的width不一定生效,tdwidth会自动调整
  • text-overflow: ellipsis也会失效,同样,img会撑大td

举个例子:

    <table>
      <tr>
        <td>31</td>
        <td>32ssssssssssssss</td>
      </tr>
      <tr>
        <td>31</td>
        <td>
          <img src="assets/tiger.png" alt="">
        </td>
      </tr>
    </table>
table {
  display : table;
  width : 200px;
  height : 200px;
  border-collapse : collapse;
  table-layout : auto;
}
td {
  overflow : hidden;
  width : 100px;
  height : 100px;
  border : 1px solid black;
  text-overflow : ellipsis;
}

这样的结果就是这样的:

tdwidthimg 都没有溢出隐藏,反而撑大了td,但是如果把 table-layout改为 fixed,效果如图:

tdtext-overflow : ellipsisoverflow : hidden都会起作用,但是这里也有几个地方要注意:

  • text-overflow : ellipsis生效的前提是
    1. overflow不为visible,最好是类似hidden的值
    2. 需要指定tablewidth
  • 如果td的宽度加起来超过tablewidth,即使给table加上overflow:hiddentd也不会被隐藏。

以上是关于table-layout:fixed 布局注意事项的主要内容,如果未能解决你的问题,请参考以下文章

精准控制表格列表(table-layout:fixed)

table-layout 属性

PC端布局注意事项

Firefox 4 和表格布局:已修复

基础固定列宽的表格及示例演示

使用css让表头固定的方法