Html 行跨&;没有唯一行span时的Colspan问题

Html 行跨&;没有唯一行span时的Colspan问题,html,Html,使用此代码 XXXX 35 YYYY 34 我期待这样的结果 我得到 经过长时间的专注,我一直迷路。 关于colspan/rowspan规则,我遗漏了html标准的任何特定点吗 我发现,但在我的应用程序架构中不可接受的唯一方法是 XXXX 35 YYYY 34 ==编辑=== 事实上,使用下面更完整的示例更容易理解 <table width="800" border="1" cellpadding="5">

使用此代码


XXXX
35
YYYY
34
我期待这样的结果

我得到

经过长时间的专注,我一直迷路。
关于colspan/rowspan规则,我遗漏了html标准的任何特定点吗

我发现,但在我的应用程序架构中不可接受的唯一方法是


XXXX
35
YYYY
34
==编辑===

事实上,使用下面更完整的示例更容易理解

  <table width="800" border="1" cellpadding="5">
        <tbody>
          
            <tr role="row" class="even">
                <td>Line1</td>
                <td colspan="9">Lorem</td>
            </tr>
            <tr role="row" class="odd">
                <td rowspan="2">Line2</td>
                <td rowspan="2">Lorem</td>
                <td rowspan="2">Lorem</td>
                <td rowspan="2">Lorem</td>
                <td rowspan="2">Lorem</td>
                <td rowspan="2" colspan="5">Lorem</td>
            </tr>
            <tr role="row" class="odd">
                <td>Line3</td>
                <td colspan="4">Lorem</td>
                <td colspan="5">Lorem</td>
            </tr>
            <tr role="row" class="even">
                <td>Line4</td>
                <td>Lorem</td>
                <td>Lorem</td>
                <td>Lorem</td>
                <td>Lorem</td>
                <td>Lorem</td>
                <td>Lorem</td>
                <td>Lorem</td>
                <td>Lorem</td>
                <td>Lorem</td>
            </tr>
           
        </tbody>
    </table>


第1行
洛勒姆
第2行
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
第3行
洛勒姆
洛勒姆
第4行
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
它给了我

当我期待这一切的时候

参考,我为您制作了以下代码片段


XXX

35 YYYY

34
这就是您希望通过
行span
列span
实现的目标吗?希望对你有帮助


XXXX
35
YYYY
34

XXXX
35
YYYY
34
输出如下:


从逻辑上更改两行的colspan值。他们一定有关联。您不能随机添加数字

您只需使用colspan即可获得预期结果,因此不需要在此处使用rowspan


XXXX
35
YYYY
34

一种方法是添加空的


1.
2.
3.
4.

我想我明白了!⭐

它与rowspan值有关。在第2行,每个
都提供了
行span=2

网络浏览器似乎不理解这种情况。 如果我只是删除这个行跨度,它就会工作


第1行
洛勒姆
第2行
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
第3行
洛勒姆
洛勒姆
第4行
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
坏消息是我的应用程序很难删除这个。(它基于excel文件源)。因此,我编写了这个小型的香草JS脚本来修复所有的rowspan和colspan混合

但我发现这有点混乱:-/

let rows=Object.values(document.queryselectoral(“table tr”);
用于(var tdIdx,行){
var tds=Object.values(行[tdIdx].children);
var fRowspan=tds[0]。行范围;
if(fRowspan>1&&tds.filter(td=>td.rowSpan!==fRowspan.length==0){
//我在一个不起眼的世界里,在一个超级世界里
tds.forEach(td=>td.rowSpan=1);
//改变路线的路线
设colspanDiff=fRowspan-1;
设前几行=0;
而((tdIdx-++前几行)>=0){
Object.values(行[tdIdx-previousLines].children)
.filter(td=>td.rowSpan!=null&&td.rowSpan>previousLines)
.forEach(td=>td.rowSpan--);
科尔斯潘迪夫--;
}
}
}

第1行
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
第3行
洛勒姆
洛勒姆
第4行
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆
洛勒姆

为什么要使用rowspan?看起来您只是想将行的高度设置为3x或2x,不应该使用rowspan。首先要注意的是,您的表不是有效的HTML5。因此,尽管HTML规范仍然描述如何形成它,但它不太可能按照您想要的方式构造它。您是否正在寻找“处理行的算法”为什么将单元格添加到现有行的末尾而不是开始新行的解释?我看到您已将rowspan替换为colrow,colrow不是有效的html属性,不是吗?关于rowspan:您的示例适用于
colgroup
,rowspan对于整行始终相同=>但是如果我还需要具有不同值的rowspan,则它不起作用,具体取决于columnsHi Filip。不幸的是,在我的应用程序上下文中,我无法设置静态宽度,但为什么rowspan不起作用。在某些情况下我确实需要rowspan。添加更多行并创建一个大表。
    <table border="1" cellpadding="10" cellspacing="0" >    
   <tr>
    <th colspan="10">XXXX</th>

    <th colspan="7">35</th>
   </tr>
   <tr>
    <th colspan="14">YYYY</th>

    <th colspan="8">34</th>
   </tr>
  </table>