jQuery DataTables固定大小为其中一列?

时间:2017-12-06 13:00:09

标签: datatables-1.10

我有一个DataTables表,我希望它在默认情况下自动调整大小(调整窗口大小和根据初始内容等),除了一个特殊的列,我希望它有一个固定的宽度。 / p>

看来,如果我使用columnDefs设置宽度,该表最初会根据内容进行自动调整,但不再适应更改的窗口宽度。如果指定%宽度或像素宽度,似乎无关紧要。

1 个答案:

答案 0 :(得分:1)

如果要精确控制表格列宽,必须使用CSS:

table.dataTable thead th:nth-child(4),
table.dataTable tbody td:nth-child(4) {
  width: 200px;
  max-width: 200px;
  min-width: 200px;
}  

如果您检查上面的列,您会看到计算 width大于200px。这是填充内容,因此您必须重置padding-leftpadding-right才能获得200px。

如果要将列缩小到超出“合理”的宽度,则必须添加另外的som:

table.dataTable {
  table-layout: fixed;
}

为什么需要这些,你可以在这里阅读 - > https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout#Values

table.dataTable thead th:nth-child(2),
table.dataTable tbody td:nth-child(2) {
  word-break: break-all;
  overflow-wrap: break-word;
  width: 20px;
  max-width: 20px;
  padding-right: 0px;
  padding-left: 0px;
}

演示 - >的 http://jsfiddle.net/n4j1wgu5/