表 colspan 跨越所有列,而不考虑列数
Posted
技术标签:
【中文标题】表 colspan 跨越所有列,而不考虑列数【英文标题】:Table colspan span all columns regardless of # of columns 【发布时间】:2011-01-24 05:15:45 【问题描述】:我正在动态地在 asp.net 代码中创建一个表,并且我想要一个只有 2 个单元格的页脚行。第一个应该跨越表 1 中的所有列。除了手动跟踪表中的列数之外,还有什么方法可以让我将 colspan 设置为 table-1 中所有列的#?
最好是 html 或 CSS 解决方案?
【问题讨论】:
【参考方案1】:Colspan 不能用 CSS 完成。它是结构化的而不是风格的,所以它是纯 HTML。
不,您不能将“除了一个”指定为 colspan。您可以做的最好的事情是colspan="0"
,它将跨越列组中的其余列,但要利用顶部的<colgroup>
,无论如何都需要知道列数并进行静态定义。
请参阅 HTML 规范中的 Tables:
colspan = number [CN]
此属性指定的数量 当前单元格跨越的列。 该属性的默认值为 一个(“1”)。值零(“0”)表示 该单元格跨越所有列 当前列到最后一列 列组 (
COLGROUP
) 定义单元格的位置。
但基本上这只是把罐子踢到街上,我不知道浏览器支持是什么样的,所以它不一定会给你买任何东西。
您需要在生成 HTML 或使用 javascript 时知道列数。
【讨论】:
好的,我想我会在生成过程中跟踪列数。谢谢【参考方案2】:抱歉,这不是 HTML 或 CSS 解决方案...我只是建议这样做,因为我认为没有 HTML 或 CSS 解决方案可以跨浏览器/跨浏览器版本工作。
您可以将表格转换为Asp:Table,然后使用第一行的Cells.Count...
但这可能比按照您现在的方式跟踪添加的列数要多。但它不依赖于浏览器支持,因为它都在代码隐藏中。
【讨论】:
【参考方案3】:<tr><td colspan="100%">1000</td></tr>
来自问题:Colspan all columns
适用于 IE 7/8 和 Firefox 5
【讨论】:
我怀疑浏览器忽略了 '%' 符号,只是将其视为 100 列。您需要使用超过 100 列的表格进行验证。以上是关于表 colspan 跨越所有列,而不考虑列数的主要内容,如果未能解决你的问题,请参考以下文章