我正在尝试按如下方式在 ASP.NET 中呈现树视图(此处为 JSFiddle )
<table>
<colgroup>
<col width="20" span="2" />
<col width="*" /> // removing this width doesn't change anything
<col width="20" />
</colgroup>
<tr>
<td colspan="3">Top-level element</td>
<td>(checkbox)</td>
</tr>
<tr>
<td>(spacer)</td>
<td colspan="2">Mid-level element</td>
<td>(checkbox)</td>
</tr>
<tr>
<td>(spacer)</td>
<td>(spacer)</td>
<td colspan="1">Bottom</td>
<td>(checkbox)</td>
</tr>
</table>
where(spacer)
是一个 20px 宽的单元格,其中包含树线,并且(checkbox)
是一个复选框,我希望所有的单元格都在右侧列中对齐。
在 IE8 中,这按我的预期呈现 - 与间隔单元格跨越的*
-widthcol
扩展得足以容纳跨越单元格中最长的项目。
| Top-level element | [] |
| . | Mid-level element | [] |
| . | . |Bottom | [] |
在 IE7 中,它不能正确呈现。*-widthcol
仅扩展到足以容纳实际在倒数第二列中的单元格,而不是跨越其中的单元格,并且其他单元格分成多行。
| Top-level | [] |
| element | |
| . | Mid-level | [] |
| | element | |
| . | . | Bottom | [] |
有没有办法让 IE7 正确地布置这张桌子,同时仍然保持表格宽度动态?(即不只是给倒数第二列或表格本身一个固定的宽度。)
或者,有没有一种方法可以使用 div 而不是表格来获得这种动态大小?
其他几点:
- 设置单个单元格宽度不起作用 - IE7 似乎忽略了它们,这导致树线全部脱节。
- 设置
table-layout: fixed
修复了对齐,但在 IE7 中(同样,不是在 IE8 中)它使表格 100% 宽。