0 0

大家看下这个不规范的table的html代码为什麽错行了10

今天看到一份儿代码,发现table错行了,代码如下,虽然行的合并没必要这么合并,但是这样合并我也没看出错误来,愚钝 
请教大家指点一下,为什么第三行贴附在第二行末尾去了。谢谢!

<table width="100%"  border="1px">
<tr>
    <td rowspan="3">1</td>
    <td rowspan="3">2</td>
    <td colspan="3">3</td>
    <td colspan="2">4</td>
    <td colspan="2">5</td>
</tr>
<tr>
    <td rowspan="2">6</td>
    <td rowspan="2">7</td>
    <td rowspan="2">8</td>
    <td rowspan="2">9</td>
    <td rowspan="2">10</td>
    <td rowspan="2">11</td>
    <td rowspan="2">12</td>
</tr>
<tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
</tr>
</table>

问题补充:<div class="quote_title">xiaolongfeixiang 写道</div><div class="quote_div"><span style="color: blue"><strong>错误的原因就是:第2个&lt;tr&gt;中所有的&lt;td&gt;都是rowspan=2,都是跨2行。加之第1个&lt;tr&gt;跨3行,所以第3个&lt;tr&gt;就没处放置了。 <br /> <br />给你2个改进的版本,自己体会一下table的拆分吧: <br /></strong></span> <br /> <br />版本1: <br /><pre name="code" class="html">
&lt;table width="100%"  border="1px"&gt;
&lt;tr&gt;
    &lt;td rowspan="3"&gt;1&lt;/td&gt;
    &lt;td rowspan="3"&gt;2&lt;/td&gt;
    &lt;td colspan="3"&gt;3&lt;/td&gt;
    &lt;td colspan="2"&gt;4&lt;/td&gt;
    &lt;td colspan="2"&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
    &lt;td rowspan="2"&gt;6&lt;/td&gt;
    &lt;td rowspan="2"&gt;7&lt;/td&gt;
    &lt;td rowspan="2"&gt;8&lt;/td&gt;
    &lt;td rowspan="2"&gt;9&lt;/td&gt;
    &lt;td rowspan="2"&gt;10&lt;/td&gt;
    &lt;td rowspan="2"&gt;11&lt;/td&gt;
    &lt;td &gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;这是第3行&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
    &lt;td&gt;1&lt;/td&gt;
    &lt;td&gt;2&lt;/td&gt;
    &lt;td&gt;3&lt;/td&gt;
    &lt;td&gt;4&lt;/td&gt;
    &lt;td&gt;5&lt;/td&gt;
    &lt;td&gt;6&lt;/td&gt;
    &lt;td&gt;7&lt;/td&gt;
    &lt;td&gt;8&lt;/td&gt;
    &lt;td&gt;9(这是第4行)&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
</pre> <br /> <br />版本2: <br /><pre name="code" class="html">
&lt;table width="100%"  border="1px"&gt;
&lt;tr&gt;
    &lt;td rowspan="2"&gt;1&lt;/td&gt;
    &lt;td rowspan="2"&gt;2&lt;/td&gt;
    &lt;td colspan="3"&gt;3&lt;/td&gt;
    &lt;td colspan="2"&gt;4&lt;/td&gt;
    &lt;td colspan="2"&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
    &lt;td rowspan="1"&gt;6&lt;/td&gt;
    &lt;td rowspan="1"&gt;7&lt;/td&gt;
    &lt;td rowspan="1"&gt;8&lt;/td&gt;
    &lt;td rowspan="1"&gt;9&lt;/td&gt;
    &lt;td rowspan="1"&gt;10&lt;/td&gt;
    &lt;td rowspan="1"&gt;11&lt;/td&gt;
    &lt;td rowspan="1"&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
    &lt;td &gt;1&lt;/td&gt;
    &lt;td&gt;2&lt;/td&gt;
    &lt;td&gt;3&lt;/td&gt;
    &lt;td&gt;4&lt;/td&gt;
    &lt;td&gt;5&lt;/td&gt;
    &lt;td&gt;6&lt;/td&gt;
    &lt;td&gt;7&lt;/td&gt;
    &lt;td&gt;8&lt;/td&gt;
    &lt;td&gt;9&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
</pre></div> <br />第二个方案也是我当时改的方法,至于第一种方法为什麽不对,还是没看明白。 <br /> <br />总共是9列。 <br />第一行共 9 列,前 2 列各占 3 行,后面 7 列各占一行。 <br />第二行共 7 列,所有列各占 2 行。 <br />第三行共 9 列,所有列各占 1 行。 <br /> <br />从数量上看是没问题的啊。
2010年1月06日 22:26

2个答案 按时间排序 按投票排序

0 0

采纳的答案

错误的原因就是:第2个<tr>中所有的<td>都是rowspan=2,都是跨2行。加之第1个<tr>跨3行,所以第3个<tr>就没处放置了。

给你2个改进的版本,自己体会一下table的拆分吧:


版本1:

<table width="100%"  border="1px">
<tr>
    <td rowspan="3">1</td>
    <td rowspan="3">2</td>
    <td colspan="3">3</td>
    <td colspan="2">4</td>
    <td colspan="2">5</td>
</tr>
<tr>
    <td rowspan="2">6</td>
    <td rowspan="2">7</td>
    <td rowspan="2">8</td>
    <td rowspan="2">9</td>
    <td rowspan="2">10</td>
    <td rowspan="2">11</td>
    <td >12</td>
</tr>
<tr>
    <td>这是第3行</td>
</tr>
<tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9(这是第4行)</td>
</tr> 
</table> 


版本2:
<table width="100%"  border="1px">
<tr>
    <td rowspan="2">1</td>
    <td rowspan="2">2</td>
    <td colspan="3">3</td>
    <td colspan="2">4</td>
    <td colspan="2">5</td>
</tr>
<tr>
    <td rowspan="1">6</td>
    <td rowspan="1">7</td>
    <td rowspan="1">8</td>
    <td rowspan="1">9</td>
    <td rowspan="1">10</td>
    <td rowspan="1">11</td>
    <td rowspan="1">12</td>
</tr>
<tr>
    <td >1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    <td>5</td>
    <td>6</td>
    <td>7</td>
    <td>8</td>
    <td>9</td>
</tr>
</table> 

2010年1月07日 13:28
0 0

你自己算一下colspan和rowspan的总数都不匹配嘛

2010年1月13日 14:30

相关推荐

    table表格按列合并相同数据行单元格代码

    在jsp、html页面中实现table表格按列合并相同数据行单元格代码,可实现功能为:在一个table表格中,合并指定列中所有相同数据相邻行单元格内容。

    html table实现复杂表头的示例代码

    复杂表格一般是用到td的两个属性:rowspan 、colspan属性值。 在html中&lt;td&gt; 标签定义 HTML 表格中的标准单元格。  (1)rowspan 属性规定单元格可横跨的行数;  (2)colspan 属性规定单元格可横跨的列数。 &lt;...

    table转换为Html格式Table

    `TableHtml`可能是实现这一功能的C#类库或程序的名称,它可能封装了上述步骤,提供更简便的方法来完成表格到HTML的转换。 总结来说,将C#中的表格数据转换为HTML格式涉及理解C#编程、HTML表格结构以及可能的数据...

    HTML页面table表格固定行和列

    我们可以创建一个包含表头的新`&lt;div&gt;`,并将其设置为绝对定位,使其始终在页面顶部显示。同时,我们需要确保表头的高度与实际表格的第一行高度一致,以保持视觉一致性。例如: ```html .fixed-header { position...

    Layui组件Table绑定行点击事件和获取行数据的方法

    在事件函数中,通过查找具有layui-table-hover类的元素来获取当前行的data-index属性值,然后将这个值转换为字符串形式,用于从数据集合中获取行数据。最后调用fun.openLayer函数来根据获取的行数据打开一个弹层展示...

    jQuery Table点击选中表格行变色代码

    在这个案例中,HTML部分将包含一个`&lt;table&gt;`元素,其中包含了多行`&lt;tr&gt;`(表格行)和`&lt;td&gt;`(表格数据)元素。这些元素将用于展示数据,并与jQuery脚本进行交互。 CSS(Cascading Style Sheets)文件用于定义网页的...

    JS 实现Table相同行的单元格自动合并示例代码

    当这种情况发生时,当前的值会被保存到`lastValue`变量中,然后从新行开始重复这个合并过程。 在HTML文档的`&lt;body&gt;`标签中,我们通过`onload`事件触发器调用了`autoRowSpan`函数,并指定了表格对象`tb`、起始行`0`...

    jQuery获取table下某一行某一列的值实现代码

    从提供的文件内容中,我们可以提取以下关于jQuery获取表格中某一行某一列值的知识点: 1. jQuery选择器的使用:在文中,通过使用选择器 $(".div") 找到了包含多个表格的div元素。这说明了jQuery选择器用于选取页面...

    table示例代码

    在这个"table示例代码"中,我们将深入探讨`&lt;table&gt;`标签及其相关的属性和子元素。 首先,让我们了解`&lt;table&gt;`的基本结构。一个简单的表格由以下几个部分组成: 1. `&lt;table&gt;`:这是表格的根元素,所有其他与表格...

    jQuery Table选中表格行变色代码.zip

    本资源“jQuery Table选中表格行变色代码.zip”提供了一个实用的功能,即当用户点击表格中的某一行时,该行会变色,以突出显示用户的选择。这个功能在数据展示和交互性较强的网页中十分常见,例如在数据分析、电商...

    java读取Excel导出Html对应的table代码

    这个任务通常涉及到使用第三方库来处理Excel文件,因为Java标准库并不直接支持Excel格式。本篇将详细介绍如何实现这一功能,以及涉及到的相关知识点。 首先,我们需要一个能够读取Excel文件的库。Apache POI是一个...

    table表格内容上下移动的三种实现方法

    在网页设计中,HTML表格(Table)是一种常用的数据展示方式,有时我们需要实现表格内容的上下移动功能,以满足用户交互需求或数据操作便利性。本篇文章将详细讲解三种实现HTML表格内容上下移动的方法。 方法一:...

    将HtmlTable 导出为Execl文件,支持合并单元格、合并行,无需Office支持

    在这个名为"ExportExeclWebDemo"的压缩包中,可能包含了一个完整的示例代码,演示了如何实现这个功能。开发者可以通过研究代码来学习如何在自己的项目中实现类似的功能。通常,这样的示例会包括前端部分(用于处理...

    一个动态添加table行的js例子

    首先,我们来理解这个“动态添加table行的js例子”的核心知识点。 1. **DOM操作**:动态添加和删除HTML元素,如表格的行(`&lt;tr&gt;`),需要用到DOM(Document Object Model)接口。JavaScript通过DOM可以访问和修改...

    table JS 添加行和删除行

    当用户点击按钮时,代码会查找ID为'selectedRow'的行(假设这个ID是在行上设置的),如果找到了,就从表格中移除它。 实际应用中,你可能需要根据具体的业务逻辑调整这些示例,比如通过循环遍历所有行,或者根据...

    html Table 表头固定的实现

    在上述代码中,这个宽度被设置为了17像素。 然后,对于表格主体部分,我们需要设置overflow-y: scroll;样式,让这部分在内容超出视窗高度时可以滚动。表格主体的高度也被设置为视窗的一定比例,这里是94%的视窗高度...

    jquery table 上下行移动互换

    在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和动画效果。本知识点主要探讨如何使用jQuery实现表格(table)中行的上下移动互换功能。这一功能常用于数据管理界面,允许用户...

    asp.net table控件自动添加删除行功能代码

    然后,将这个新行添加到名为“myTable”的Table控件的Rows集合中。 对于删除行,同样可以在后台代码中处理。假设我们要删除选中的行,可以遍历表格的Rows集合,检查每一行的一个特定条件(如复选框状态),如果满足...

    网页html -table

    table代码table代码table代码table代码table代码table代码table代码table代码table代码table代码

    table切换最简代码

    标签"tab切换"表明这是一个更通用的概念,不局限于表格,也可以应用于其他元素,如卡片、面板等。实现方式类似,通常会有一个导航条或按钮组来触发切换,而内容区域则根据用户的选择动态显示。 总结起来,"table...

Global site tag (gtag.js) - Google Analytics