table-layout:fixed 布局注意事项

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

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

举个例子:html

<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也不会被隐藏。
相关文章
相关标签/搜索