表头与内容不对齐
产生原因:
datatables 根据行的宽度自动设置列宽,如果该列要显示的数据内容,大于设置的列宽而且大于表头宽度则就会造成不对齐的情况。
解决办法:
第一种:检查一下自己的行首字符数和显示的字符数是不是差别比较大,如果是的话设置当前列宽度columns内设置或者通过rowCallback方法设置
var datatable=$('table').DataTable({
columnDefs:[
//显示隐藏的列
{'visible':false,'aTargets':[0]},
{"width":"50px", "targets": [1]},//设置宽度
{"width":"100px", "targets": [2]},//设置宽度
]
});
var datatable=$('table').DataTable({
columnDefs:[
//显示隐藏的列
{'visible':false,'aTargets':[0]},
],
rowCallbackfunction( row, data, index ) {
$('td:eq(1)', row).css('width','50px');
$('td:eq(2)', row).css('width','100px');
}
});
第二种
第一步:将所有自定义的列宽去掉
第二步:通过datatables 根据行的宽度自动设置列宽,将表格内所有的td全都设置为
white-space:nowrap;