代码之家  ›  专栏  ›  技术社区  ›  Miha Å uÅ¡terÅ¡ič

css,html-colspan在不同的表上不起作用[重复]

  •  1
  • Miha Å uÅ¡terÅ¡ič  · 技术社区  · 6 年前

    即使定义了列的宽度,也会根据列内容调整大小。

    td,
    th {
      padding: .5rem;
    }
    
    .red-header {
      font-weight: 700;
      background-color: rgb(184, 167, 177);
      text-align: start;
    }
    <table>
      <thead>
        <tr>
          <th colspan="2" width="35%" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
          <th width='35%' />
          <th width="15%" />
          <th width="15%" />
        </tr>
      </thead>
      <tbody>
        <tr>
          <td width="35%">something</td>
          <td width="35%">something else</td>
          <td width="15%">something</td>
          <td width="15%">something else</td>
        </tr>
      </tbody>
    </table>
    
    <table>
      <thead>
        <tr>
          <th colspan="2" width="35%" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
          <th width='35%' />
          <th width="15%">something</th>
          <th width="15%">something else</th>
        </tr>
      </thead>
      <tbody />
    </table>

    如何使列保持其大小而不考虑内容?

    2 回复  |  直到 6 年前
        1
  •  -1
  •   Alicia Taylor    6 年前

    在第二个表中将colspan设置为2,但第二个标题仍在,但缺少结束标记。如果删除缺少标记的第二个标题,它将解决您的问题。

    <table>
      <thead>
        <tr>
          <th colspan="2" width="35%" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
          <th width='35%' />
          <th width="15%" />
          <th width="15%" />
        </tr>
      </thead>
      <tbody>
        <tr>
          <td width="35%">something</td>
          <td width="35%">something else</td>
          <td width="15%">something</td>
          <td width="15%">something else</td>
        </tr>
      </tbody>
    </table>
    
    <table>
      <thead>
        <tr>
          <th colspan="2" width="35%" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
    
          <th width="15%">something</th>
          <th width="15%">something else</th>
        </tr>
      </thead>
      <tbody />
    </table>
    

    或者关闭标签

    <table>
      <thead>
        <tr>
          <th colspan="2" width="35%" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
          <th width='35%' />
          <th width="15%" />
          <th width="15%" />
        </tr>
      </thead>
      <tbody>
        <tr>
          <td width="35%">something</td>
          <td width="35%">something else</td>
          <td width="15%">something</td>
          <td width="15%">something else</td>
        </tr>
      </tbody>
    </table>
    
    <table>
      <thead>
        <tr>
          <th colspan="2" width="35%" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
          <th width='35%' /></th>
          <th width="15%">something</th>
          <th width="15%">something else</th>
        </tr>
      </thead>
      <tbody />
    </table>
    
        2
  •  -1
  •   DeCoder    6 年前

    我发现你的代码有一个错误,就是你在多个地方丢失了th标记的结束符..你可以同时使用colspan或宽度的百分比两者都不合理你可以用colspan这样做

    table{
      width:100%
    }
    <table border='1'>
      <thead>
        <tr>
          <th colspan="4" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
          
        </tr>
      </thead>
      <tbody>
        <tr>
          <td >something</td>
          <td >something else</td>
          <td >something</td>
          <td >something else</td>
        </tr>
      </tbody>
    </table>
    
    <table border="1">
      <thead>
        <tr>
          <th colspan="4" width="35%" class="red-header">
            THIS IS A LONG LONG HEADER STRING
          </th>
          
        </tr>
      </thead>
      
      <tbody>
        <tr>
          <td >something</td>
          <td >something else</td>
          <td >something</td>
          <td >something else</td>
        </tr>
      </tbody>
    </table>