html - 无论 td 内容如何,都保持 HTML 表格可变宽度
问题描述
我有一个 html 表格,随着浏览器窗口被拖得越来越窄,它变得越来越窄。此表中的每一行最初都包含汇总数据列,并且每一行都有一个图标,单击该图标将在汇总行下方打开一个新的动态表行,并且我想在其中显示另一个包含详细信息的表。
我的问题是出现在每个动态添加的表行中的明细表非常宽。为了防止外部表变宽以容纳内部详细信息表,我添加了一个样式为overflow-x的div:滚动;在详细信息的 td 标签内;然而,虽然它增加了水平滚动条,但主表也变宽以容纳内部细节表。我希望主表保留它的宽度和布局,而不管动态添加的行中放入了什么。
我发现如果我把 table-layout: fixed; 在外部表格标记上,该表格在出现时停止扩大以容纳内部详细信息表格,并且滚动工作正常,但它的缺点是使我的所有主表格的列具有相同的宽度。
有谁知道一种更好的方法来保持外部表格能够随着浏览器窗口增长和缩小,但在显示宽的内部内容时阻止它变宽?
解决方案
有两种解决方案。
table-layout: fixed
本质上不会使所有列的宽度相同。您可以使用<col>
标签来指定列宽。问题是您不能在此方法中使用自动计算的列宽。添加
style='position: relative'
到<td>
外部表的问题。在其中添加<div style='position: absolute; left: 0; right: 0; top: 0; bottom: 0; overflow: auto'>
作为内表的容器。<td>
您可以指定withwidth
属性的宽度。
推荐阅读
- android - Gradle uploadArchives 并行运行,导致 oss sonatype nexus 上有多个暂存存储库
- python - 根据每个数据帧中的列组合比较两个数据帧
- android - 将 TextView 中的文本转换为启动活动的链接
- c++ - MQTT ACL 文件使用
- java - HashTable - 在重新散列中间更改数组大小
- package - Unexpected Token - Atom 教程 - WordCount
- angular - 将引导程序 4 降级到 3.3 角度
- java - 在 Android Studio 中使用 JSoup 获取类头下的文本
- c - c中迷宫程序中的分段错误
- c++ - WINAPI C++ GetDlgItem 不返回有效句柄