给定以下标记,如何使用CSS强制一个单元格(列中的所有单元格)适应其内容的宽度,而不是拉伸(这是默认行为)?
<style type="text/css">
td.block
{
border: 1px solid black;
}
</style>
<table style="width: 100%;">
<tr>
<td class="block">this should stretch</td>
<td class="block">this should stretch</td>
<td class="block">this should be the content width</td>
</tr>
</table>
编辑:我意识到我可以硬编码宽度,但我不想这样做,因为该列中的内容是动态的。
查看下面的图像,第一个图像是标记生成的。第二张图片就是我想要的。
发布于 2012-06-30 02:41:20
我不确定我是否理解了你的问题,但我会试一试:
td {
border: 1px solid #000;
}
tr td:last-child {
width: 1%;
white-space: nowrap;
}
<table style="width: 100%;">
<tr>
<td class="block">this should stretch</td>
<td class="block">this should stretch</td>
<td class="block">this should be the content width</td>
</tr>
</table>
发布于 2015-02-25 18:39:24
设置
max-width:100%;
white-space:nowrap;
将会解决你的问题。
发布于 2017-03-09 03:14:11
对我来说,这是最好的自适应和自动调整大小的表和它的列(使用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宽度。如果表格内容较大,它将超出屏幕大小。
https://stackoverflow.com/questions/11267154
复制相似问题