给定下面的标记,我如何使用CSS强制一个单元格(列中的所有单元格)以适应其中内容的宽度,而不是拉伸(这是默认行为)?
道明。块{
边框:1px纯黑色;
}
<table style="width: 100%;">
< tr >
<td class="block">这应该拉伸</td>
<td class="block">这应该拉伸</td>
<td class="block">这应该是内容宽度</td>
< / tr >
表> < /
我意识到我可以硬编码宽度,但我宁愿不这样做,因为内容将在该列是动态的。
查看下面的图像,第一个图像是标记产生的结果。第二张图就是我想要的。
对我来说,这是最好的自动拟合和自动调整表和它的列(使用css !重要…除非你不能没有)
.myclass table {
table-layout: auto !important;
}
.myclass th, .myclass td, .myclass thead th, .myclass tbody td, .myclass tfoot td, .myclass tfoot th {
width: auto !important;
}
不要为表或表列指定css宽度。
如果表格内容较大,它将超过屏幕大小为。
首先,设置
td {
max-width: 0;
overflow: hidden;
text-overflow: ellipsis;
}
确保您的表格单元格将拉伸。
现在你只需要
td.fit {
width: 0;
min-width: fit-content;
}
在你的电池上。
请注意,现在只有当所有拟合单元格的内容过多而无法适合100%的表宽度时,表才会溢出宽度。
表{
空白:nowrap;}
宽度:100%;
}
td {
边框:1px纯黑色;
}
td {
max-width: 0;
溢出:隐藏;
文本溢出:省略;
}
道明。适合{
宽度:0;
min-width:适合内容;
}
<表>
< tr >
<td class="stretch">这个应该拉伸</td>
<td class="stretch">这个应该拉伸</td>
<td class="fit">这应该是内容宽度</td>
< / tr >
表> < /