【发布时间】:2020-02-03 11:18:08
【问题描述】:
我正在创建一个“甘特图”样式的表格,所以这意味着它必须固定第一列,并且它可以是一个很长的表格,从左到右。
我尝试过: 1.使用简单的HTML; 2. 使用 DIV 和 CSS; 3.使用TH和CSS; 目前没有好结果
div 是最接近的,但第一列溢出,表格不再对齐。
<table >
<tr>
<th > </th>
<td colspan='14'>2019</td>
</tr>
<tr><th>  </th>
<td colspan='14'>9</td>
</tr>
<tr><th> Department - Team</th>
<td style='width:30px;'>4</td>
<td style='width:30px;'>5</td>
<td style='width:30px;'>6</td>
<td style='width:30px;'>7</td>
<td style='width:30px;'>8</td>
<td style='width:30px;'>9</td>
<td style='width:30px;'>10</td>
<td style='width:30px;'>11</td>
<td style='width:30px;'>12</td>
<td style='width:30px;'>13</td>
<td style='width:30px;'>14</td>
<td style='width:30px;'>15</td>
<td style='width:30px;'>16</td>
<td style='width:30px;'>17</td></tr>
<tr>
<th >Corporate Development - Fundraisin </th>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td>
<td style='width:30px;background-color:#FFAAAA;'>7.67</td></tr>
<tr>
<th >Corporate Development - Marketing </th>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td>
<td style='width:30px;background-color:#AAAAFF;'>1.25</td></tr>
<tr>
<th >FAS - Team A </th>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAAAA;'>10.00</td>
<td style='width:30px;background-color:#FFAA14;'>5.00</td>
<td style='width:30px;background-color:#FFAA14;'>5.00</td>
<td style='width:30px;background-color:#FFAA14;'>5.00</td></tr>
<tr>
<th >BF Server - Server . </th>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#FFAA14;'>4.75</td>
<td style='width:30px;background-color:#AAAAFF;'>1.75</td>
<td style='width:30px;background-color:#AAAAFF;'>1.75</td>
<td style='width:30px;background-color:#AAAAFF;'>1.75</td>
</tr>
我希望看到一个简单的表格,但我无法同时满足这三个结果: * 从左到右很长; * 第一列始终可见; * 没有文本溢出(在使用 div 的情况下)
【问题讨论】:
-
你必须展示你的代码以使问题更容易理解
-
我认为没有纯 CSS 解决方案。但是在这种情况下,表格元素本身就更不可能使用了。有修复列标题的解决方案,因为它本身就是一个元素(如这里:codepen.io/tjvantoll/pen/JEKIu),但行标题分布在多行中。