**关闭。**此题需要debugging details。目前不接受答复。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
3天前关闭。
Improve this question
我想要一个总是100%宽度的表,但我希望列的宽度根据其内容而变化。即,较小的列收缩以给具有更多内容的列给予更多空间。
下面是一个例子,我想缩小第1、3和4列,以便第2列有更多的空间。
https://codepen.io/melonfacedoom/pen/ZEyRywL
下面是来自codepen的css:
.content-table {
border-collapse: collapse;
table-layout: fixed;
width:100%;
}
.content-table th,
.content-table td {
overflow: hidden;
text-overflow: ellipsis;
}
3条答案
按热度按时间jhdbpxl91#
必须删除
table-layout: fixed
,因为它为所有子元素分配了相等的宽度。试试这个请确保添加
word-break: break-all
来打断单词,以便完全对齐。还可以考虑将min-width
添加到th
和td
中,以避免大量压缩。您修改的codepen
正如OP建议的那样,他希望将内容放在一行中,这里有一个解决方案。
您所要做的就是为
<td>
元素添加max-width368yc8dk2#
另一种保留
text-overflow:ellipsis
并避免table-layout:fixed;
的可能性是切换到grid
布局。我的想法是
p3rjfoxz3#
我找到了一个简单的解决办法。
像这样创建一个不可见的(高度=0)第一行。
它使TABLE成为视口的全宽,其余的行按需要分布。