This question already has answers here:
Using calc() with tables

(2个答案)


4年前关闭。




我正在尝试使用calc固定th:last-child的宽度,该宽度与其他像素的差异为15px。我所做的是:

th:last-child {
   width: calc( (100% - 30px)/12 + 30px );
}
table, tr {
width:100%;
border: 1px solid black;
height:10px;
}
th {
  border-right: 1px solid black;
  width: calc( (100% - 30px)/12 );
}
<table>
<thead>
  <tr>
    <th>Column 1</th>
    <th>Column 2</th>
    <th>Column 3</th>
    <th>Column 4</th>
    <th>Column 5</th>
    <th>Column 6</th>
    <th>Column 7</th>
    <th>Column 8</th>
    <th>Column 9</th>
    <th>Column 10</th>
    <th>Column 11</th>
    <th>Column 12</th>
  </tr>
</thead>
<tbody>
 <tr>
    <td>Row 1</td>
    <td>Row 2</td>
    <td>Row 3</td>
    <td>Row 4</td>
    <td>Row 5</td>
    <td>Row 6</td>
    <td>Row 7</td>
    <td>Row 8</td>
    <td>Row 9</td>
    <td>Row 10</td>
    <td>Row 11</td>
    <td>Row 12</td>
 </tr>

 </tbody>
 </table>


JS Fiddle reproduction

我除以12是因为它是表中的列数。据我了解,100%被视为父级的宽度。问题是,最后,我不明白我的期望,知道为什么吗?

最佳答案

您必须将table-layout属性设置为“固定”。

参见using calc() with tables

工作示例:https://jsfiddle.net/rpyydd5n/3/

关于css - 在表中使用calc(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39637941/

10-14 18:09