表 colspan 跨越所有列,无论列数如何

问题描述 投票:0回答:5

我正在动态创建一个 asp.net 代码中的表格,并且我想要一个只有 2 个单元格的页脚行。第一个应该跨越表 1 中的所有列。除了手动跟踪表中的列数之外,还有其他方法可以将 colspan 设置为 table-1 中所有列的# 吗?

最好是 HTML 或 CSS 解决方案?

html css asp.net html-table
5个回答
8
投票

Colspan 无法用 CSS 完成。它是结构性的而不是风格性的,所以它是纯 HTML。

不,您不能将“除一个之外的所有”指定为 colspan。您能做的最好的事情是

colspan="0"
,它将跨越列组中的其余列,但要利用顶部的
<colgroup>
,无论如何都需要知道列数并进行静态定义。

请参阅 HTML 规范中的表格

colspan = 数字 [CN]

该属性指定的数量 当前单元格跨越的列。 该属性的默认值为 一(“1”)。值零(“0”)意味着 该单元格跨越所有列 当前列到最后一列 列组的 (

COLGROUP
) 其中定义了单元格。

但基本上这只是把罐子踢到街上,我不知道浏览器支持是什么样的,所以它不一定能给你带来任何东西。

在生成 HTML 或使用 Javascript 时,您需要知道列数。


2
投票

以防万一其他人将来出现在这里,

colspan=0
在 HTML 5 中不受支持。这里有更多详细信息:https://stackoverflow.com/a/52355253/18494923


0
投票

抱歉,这不是 HTML 或 CSS 解决方案...我只是建议它,因为我认为没有可以跨浏览器/跨浏览器版本工作的 HTML 或 CSS 解决方案。

您可以将表格转换为 Asp:Table,然后使用第一行的 Cells.Count...

但这可能比按照您现在的方式跟踪添加的列数要更多的工作。但它不依赖于浏览器支持,因为它都在代码隐藏中。


0
投票

在 colspan 中使用任意大的数字,超过您期望的最大列数。例如:

<style>
td { border: solid 1px }
</style>
<table>
<tr>
<td>1</td><td>2</td><td>3</td>
</tr>
<tr>
<td colspan="1000">All</td>
</tr>
<tr>
<td>1</td><td>2</td><td>3</td>
</tr>
</table>


-2
投票
<tr><td colspan="100%">1000</td></tr>

来自问题:跨所有列

适用于 IE 7/8 和 Firefox 5

© www.soinside.com 2019 - 2024. All rights reserved.