【发布时间】:2018-08-19 00:18:27
【问题描述】:
我有一个困扰了很长时间的问题。我正在尝试构建一个重复的表设计,其中我有两行带有键值对,然后另一行带有单列,该列应该跨越上述两列。像这样:
键:值
键:值
评论
键:值
键:值
评论
...等等。
简而言之,这个想法是建立一个消息墙。
我希望第一个键只占用所需的最小宽度,不多也不少(填充除外)。然后我希望该值填充其余空间,但它应该在该值之后立即开始。
我已经设法让键列占据最小宽度,但没有使用table-layout:fixed,但这给我带来了其他问题(例如,表格内容超出了父 div)。所以,我想有一个固定的表格布局,但内容不会在父 div 之外流动......我知道我根据观众的屏幕尺寸使用不同的 CSS“修复”它(为第一列) - 但这是最好的也是唯一的(?)解决方案吗?
部分代码:
.divContainer {
width: 500px;
border: 2px solid red;
}
.topTable {
table-layout: fixed;
width: 100%;
}
td {
width: auto;
}
td.tableKey {
padding-left: 7px;
width: 1px;
color: red;
white-space: nowrap;
}
td.tableValue {
text-align: left;
max-width: 200px;
}
td.tableComment {
white-space: nowrap;
word-wrap: break-word;
white-space: pre-line;
}
<div class="divContainer">
<table class="topTable">
<tr>
<td class="tableKey">Key:</td>
<td class="tableValue">Value</td>
</tr>
<tr>
<td class="tableKey">Key:</td>
<td class="tableValue">Value</td>
</tr>
<tr>
<td colspan="2" class="tableComment">This is a dummy messageeeeeeeeeeeeeeemessageeeeeeeeeeeeeeemessageeeeeeeeeeeeeeemessageeeeeeeeeeeee.</td>
</tr>
</table>
</div>
JsFiddle: https://jsfiddle.net/x87mwe4c/1/
任何帮助将不胜感激,或多或少地尝试了一切。提供的代码是“当前”版本 - 但也尝试了许多其他的东西,但没有任何成功。
【问题讨论】:
标签: html css html-table fixed column-width