我有一张横跨整个页面的表格。宽度为calc(100% - 20px)
。
当我将窗口拖动得非常大时,表格将进行调整,以使其占据整个窗口。
当我缩小窗口时,它会再次调整以使其占据整个窗口,但在某一点它会停止调整并溢出到窗口边缘之外。
我想知道如何在JS或jQuery中计算表格的“最小允许宽度”,而不实际更改窗口的大小,然后执行$('table').width()
或类似的操作。值得注意的是,此“最小允许宽度”是可变的,具体取决于表的内容。我已经搜寻了很多,却没有找到任何好的答案。
/*table style*/
table#myTableId{
display: table;
margin: 10px;
width: -webkit-calc(100% - 20px);
width: -moz-calc(100% - 20px);
width: calc(100% - 20px);
}
答案 0 :(得分:1)
您可以暂时在桌子上设置一个很小的宽度,然后使用getBoundingClientRect
查看实时宽度。
const table = document.getElementById('myTableId');
// get the original width in case it was set
const originalWidth = table.style.width;
// set the table's width to 1px (0 does not work)
table.style.width = '1px';
// get the current width
const smallestWidth = table.getBoundingClientRect().width;
// set the original width back
table.style.width = originalWidth;
console.log(smallestWidth);
table#myTableId {
display: table;
margin: 10px;
width: -webkit-calc(100% - 20px);
width: -moz-calc(100% - 20px);
width: calc(100% - 20px);
}
<table id="myTableId">
<tr>
<td>Table Cell Content</td>
</tr>
</table>