在这里解释需要并不容易,但这里是解决问题的方法。
中间单元如何占用行的其余部分,而不是由于孩子的宽度更大而被“接管”?
这是我的问题的简化版本,使用真实表而不是CSS表)
答案 0 :(得分:0)
如果没有特定的标记,很难提出一个确切的解决方案,但这里有一些事情需要考虑。
width: 100px
。 (这个单元格与问题无关;从某种意义上说,它可以被忽略。)white-space: nowrap
来实现。如果内容不是严格的文本,也许你可以强迫它像文本一样,例如display: inline
。overflow-x
属性设置为某个合适的值。答案 1 :(得分:0)
<table>
<tr>
<td></td>
<td>
<div>
<div></div>
</div>
</td>
<td>
<b></b>
<b></b>
<b></b>
</td>
</tr>
</table>
table{ width:100%; }
/*
This is the trick. There is a wrapping DIV with a position:relative which
holds the actual content DIV which is positioned Absolute, so it's width won't
affect it's own cell width's
*/
td > div{ position:relative; width:100%; height:20px; }
div div{
position:absolute;
background:green; height:100%; width:800px;
}
/* First TD has FIXED width */
td:nth-child(1){ width:100px; background:#EEE; }
/* Middle TD width takes the rest of the space */
td:nth-child(2){ overflow:hidden; }
/* Last TD has width depends on it's children's width */
td:nth-child(3){ white-space:nowrap; width:1%; }