Man*_*eld 244 html css html-table
给定以下标记,我如何使用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>
Run Code Online (Sandbox Code Playgroud)
编辑:我意识到我可以硬编码宽度,但我宁愿不这样做,因为该列中的内容是动态的.
查看下图,第一张图像是标记产生的图像.第二张图是我想要的.

Met*_*rog 414
我不确定我是否理解你的问题,但我会抓住它.JSfiddle的例子.
HTML:
<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>
Run Code Online (Sandbox Code Playgroud)
CSS:
td{
border:1px solid #000;
}
tr td:last-child{
width:1%;
white-space:nowrap;
}
Run Code Online (Sandbox Code Playgroud)
Shu*_*gam 39
设置
max-width:100%;
white-space:nowrap;
Run Code Online (Sandbox Code Playgroud)
会解决你的问题.
小智 13
有很多方法可以做到这一点!
如果我错了,请纠正我,但问题是寻找这种结果。
table,
td {
border: 1px solid black;
}Run Code Online (Sandbox Code Playgroud)
<table style="white-space:nowrap;width:100%;">
<tr>
<td class="block" style="width:50%">this should stretch</td>
<td class="block" style="width:50%">this should stretch</td>
<td class="block" style="width:auto">this should be the content width</td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
前 2 个字段将“共享”剩余页面(注意:如果您向任一 50% 字段添加更多文本,则会占用更多空间),最后一个字段将持续占据表格的主导地位。
如果您愿意让文本换行,您可以移动空白:nowrap; 遵循第三个字段的样式
将是在该字段中开始新行的唯一方法。
或者,您可以在最后一个字段上设置长度,即。宽度:150px,并在前 2 个字段中保留百分比。
希望这可以帮助!
M. *_*ier 11
一、设置
td {
max-width: 0;
overflow: hidden;
text-overflow: ellipsis;
}
Run Code Online (Sandbox Code Playgroud)
确保您的表格单元格会拉伸。
现在你只需要
td.fit {
width: 0;
min-width: fit-content;
}
Run Code Online (Sandbox Code Playgroud)
在你的试衣细胞上。
请注意,现在只有当所有拟合单元格的内容太多而无法适应表格宽度时,表格才会在宽度上溢出100%。
td {
max-width: 0;
overflow: hidden;
text-overflow: ellipsis;
}
Run Code Online (Sandbox Code Playgroud)
td.fit {
width: 0;
min-width: fit-content;
}
Run Code Online (Sandbox Code Playgroud)
对我来说,这是最好的自动调整和自动调整表及其列(使用css!important ...只有你不能没有)
.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;
}
Run Code Online (Sandbox Code Playgroud)
不要为表或表列指定css宽度.如果表格内容较大,则会超过屏幕尺寸.
| 归档时间: |
|
| 查看次数: |
359797 次 |
| 最近记录: |