我有一个表,该表应该分为两列(布局列,而不是表列)。
在除Firefox之外的所有主流浏览器中都可以正常工作,该浏览器不会将表格分为两列。
.column-layout {
columns: 2;
}
<div class="column-layout">
<table>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
</table>
</div>
您可以在Chrome中“运行代码段”以查看其外观。 Firefox在单个行中呈现表。
这样做的原因:有一些长表,应在printview中将其分为两列。
是否有解决方法来学习Firefox如何将表分成多列?
答案 0 :(得分:1)
对于Firefox,您还需要打破表格布局显示 ,但是,它的行为不再像table
,列和行将不再匹配不再使用rowspan
或colspan
。
最简单的方法是将表的元素重置为display:block;
。 (考虑一下tbody
,它是由浏览器生成的,即使HTML代码中缺少它也是如此)。
.column-layout {
columns: 2;
}
/* reset table-layout behavior of HTML table to allow here column-layout but loose the table-layout*/
.column-layout table,
.column-layout tbody,/* don't forget me, i'll be there */
.column-layout tr {
display: block;
}
<div class="column-layout">
<table>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
<tr>
<td>Hello</td>
<td>World</td>
</tr>
</table>
</div>
答案 1 :(得分:0)