HTML中table标签的跨多行和多列布局方法

匿名 (未验证) 提交于 2019-12-02 20:37:20

先放一张布局效果效果图


在实现这一布局效果时,主要应用了rowspan、colspan跨行和跨列的属性布局。在所跨的行或者列,在其他行或者列中也是占位的。比如:第一项项目基本信息是跨过5行,因此在接下来的4行中,第一列已经是默认被占了,行中的td列是从第二列开始布局;最后一行,项目得分占据6列,因此第二个td实际对应的是该行的第七列。具体实现代码如下:

HTML布局代码:

<!-- 明细表 -->   <div class="chartbox">     <ul class="chartmenu">       <li>模块</li>       <li>一级类目</li>       <li>评估标准满分</li>       <li>项目得分</li>       <li>子模块得分(%)</li>       <li>权重</li>       <li>*权重得分</li>     </ul>     <table cellpadding="0" cellspacing="0">       <!-- 项目基本信息 -->       <tbody>         <tr rowspan="6" class="table-row">           <th rowspan="5" class="table-name">项目基本信息</th>           <td rowspan="1" class="table-first">项目基本概况</td>           <td rowspan="1" class="table-all">-9-</td>           <td rowspan="1" class="table-score">-9-</td>           <td rowspan="6" class="table-get">83</td>           <td rowspan="6" class="table-weight">0.8</td>           <td rowspan="6" class="table-weiscore">26.4</td>         </tr>         <tr class="table-row">           <td class="table-first">团队基本概况</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-row">           <td class="table-first">资本市场认可度</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-row">           <td class="table-first">项目宣传推广力度</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-row">           <td class="table-first">项目热度</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-lastrow">           <td class="table-null"></td>           <td class="table-first">小计</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>       </tbody>       <!-- 项目团队评估 -->       <tbody>         <tr rowspan="6" class="table-row">           <th rowspan="3" class="table-name">项目团队评估</th>           <td rowspan="1" class="table-first">创始人背景信息</td>           <td rowspan="1" class="table-all">-9-</td>           <td rowspan="1" class="table-score">-9-</td>           <td rowspan="4" class="table-get">83</td>           <td rowspan="4" class="table-weight">0.8</td>           <td rowspan="4" class="table-weiscore">26.4</td>         </tr>         <tr class="table-row">           <td class="table-first">核心管理团队信息</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-row">           <td class="table-first">核心开发团队信息</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-lastrow">           <td class="table-null"></td>           <td class="table-first">小计</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>       </tbody>       <!-- 项目方案评估 -->       <tbody>         <tr rowspan="6" class="table-row">           <th rowspan="3" class="table-name">项目方案评估</th>           <td rowspan="1" class="table-first">创始人背景信息</td>           <td rowspan="1" class="table-all">-9-</td>           <td rowspan="1" class="table-score">-9-</td>           <td rowspan="4" class="table-get">83</td>           <td rowspan="4" class="table-weight">0.8</td>           <td rowspan="4" class="table-weiscore">26.4</td>         </tr>         <tr class="table-row">           <td class="table-first">核心管理团队信息</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-row">           <td class="table-first">核心开发团队信息</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>         <tr class="table-lastrow">           <td class="table-null"></td>           <td class="table-first">小计</td>           <td class="table-all">9</td>           <td class="table-score">9</td>         </tr>       </tbody>       <!-- 合计 -->       <tbody>         <tr class="addtotal">           <td colspan="2">合计</td>           <td>240</td>           <td colspan="3">240</td>           <td>240</td>         </tr>         <tr class="totalscore">           <td colspan="6">项目得分</td>           <td>240</td>         </tr>       </tbody>     </table>   </div>

css样式代码:

.chartbox {     width: 95%;     margin: 0 auto;     min-height: 300px;   }    .chartmenu {     width: 100%;     height: 50px;     background-color: #f6fafd;     letter-spacing: -0.5em;     font-size: 0;   }    .chartmenu li {     letter-spacing: normal;     display: inline-block;     vertical-align: top;     font-size: 14px;     line-height: 50px;     color: #333;     text-align: center;   }    .chartmenu li:nth-of-type(1) {     width: 135px;   }    .chartmenu li:nth-of-type(2) {     width: 185px;   }    .chartmenu li:nth-of-type(3) {     width: 130px;   }    .chartmenu li:nth-of-type(4) {     width: 110px;   }    .chartmenu li:nth-of-type(5) {     width: 150px;   }    .chartmenu li:nth-of-type(6) {     width: 100px;   }    .chartmenu li:nth-of-type(7) {     width: 140px;   }    .table-row .table-name {     width: 134px;     vertical-align: middle;     font-size: 14px;     color: #333;     border-left: 1px solid #c8e5fa;   }    .table-row .table-first {     width: 183px;     text-align: center;     vertical-align: top;     height: 44px;     line-height: 44px;     border-bottom: 1px solid #c8e5fa;     border-left: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .table-row .table-all {     width: 130px;     text-align: center;     vertical-align: top;     height: 44px;     line-height: 44px;     border-bottom: 1px solid #c8e5fa;   }    .table-row .table-score {     width: 108px;     text-align: center;     vertical-align: top;     height: 44px;     line-height: 44px;     border-bottom: 1px solid #c8e5fa;     border-left: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .table-row .table-get {     width: 149px;     text-align: center;     vertical-align: middle;     border-bottom: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .table-row .table-weight {     width: 99px;     text-align: center;     vertical-align: middle;     border-bottom: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .table-row .table-weiscore {     width: 139px;     text-align: center;     vertical-align: middle;     border-bottom: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .table-lastrow {     height: 30px;     line-height: 30px;     background-color: #f6fafd;     text-align: center;   }    .table-lastrow td:last-child {     border-right: 1px solid #c8e5fa;   }    .table-lastrow td:first-child {     border-left: 1px solid #c8e5fa;   }    .addtotal {     height: 40px;     line-height: 40px;     text-align: center;   }    .addtotal td:nth-of-type(1) {     border-left: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .addtotal td:nth-of-type(3) {     border-left: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .addtotal td:last-child {     border-right: 1px solid #c8e5fa;   }    .totalscore {     height: 50px;     background-color: #f6fafd;     line-height: 50px;     text-align: center;     font-weight: 600;   }    .totalscore td {     border-bottom: 1px solid #c8e5fa;   }    .totalscore td:nth-of-type(1) {     border-left: 1px solid #c8e5fa;     border-right: 1px solid #c8e5fa;   }    .totalscore td:nth-of-type(2) {     border-right: 1px solid #c8e5fa;   } 
通过以上,就能达到本文开篇效果图的布局了。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!