【发布时间】:2014-06-14 06:57:19
【问题描述】:
如果 html 表格设置为table-layout: auto;,则它的最小宽度由浏览器设置,由表格内容确定。因此,即使使用width: 100%,该表也会超出其容器。有没有办法使用 javascript 来找到这个最小宽度?
我正在尝试制作响应式表格解决方案。我做了类似的东西:http://jsbin.com/apane6/14
在移动设备上,表格的内容是隐藏的,您可以点击它来查看它的全屏版本。现在我正在使用媒体查询,但我想知道表格必须切换到这个移动视图的确切宽度。您甚至可以在示例中看到表格延伸到页面宽度之外,从而创建了一个滚动条,这是我试图避免的。
这是我的 CSS:
table {
border-collapse: collapse;
border-spacing: 0;
table-layout: auto;
width: 100%;
}
@media (max-width: 768px) {
table {
table-layout: fixed;
white-space:nowrap;
}
th, td {
overflow: hidden;
height: 15px;
font-size: 0;
color: transparent
}
}
【问题讨论】:
-
@Popnoodles 我知道你可以找到一张桌子的宽度。我试图找出宽度在什么时候超出其容器,并且在窗口大小发生变化时理想地工作。
-
好的,我从标题开始,并没有阅读链接。请在问题中发布您的代码。
-
非常有趣的问题,并“强迫”我进行谷歌搜索并找到表的 w3 标准(呃!)的链接。这里的页面非常有趣 - dev.w3.org/csswg/css3-tables-algorithms/Overview.src.htm - 转到“算法摘要”,您将看到有关如何根据 td 大小计算宽度的详细信息。
-
@TimSPQR 看起来符合我正在尝试做的事情。但我不知道如何获得文章中所述的“tableMinWidth”。看起来我尝试这样做的方式可能没有解决方案
标签: javascript html css