如何在表中创建行的最后一个单元格占用所有剩余宽度

ika*_*han 66 html css

在下面的HTML片段中,如何使包含"LAST"的列的宽度占据行的其余部分,并且包含"COLUMN ONE"和"COLUMN TWO"的列的宽度足够宽以包含其内容,而不是更大.

谢谢

table {
  border-collapse: collapse;
}
table td {
  border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
<table>
  <tr>
    <td>
      <table width="100%">
        <tr>
          <td>
            <span>
             COLUMN
           </span>
            <span>
             ONE
           </span>
          </td>
          <td>
            COLUMN TWO
          </td>
          <td>
            LAST
          </td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td>
      ANOTHER ROW
    </td>
  </tr>

</table>
Run Code Online (Sandbox Code Playgroud)

jer*_*oen 96

您需要告诉前两列不要换行,并为最后一列提供99%的宽度:

<table width="100%">
       <tr>
         <td style="white-space: nowrap;">
           <span>
             COLUMN
           </span>
           <span>
             ONE
           </span>
         </td>
         <td style="white-space: nowrap;">
            COLUMN TWO
         </td>
         <td width="99%">
           LAST
         </td>
       </tr>
     </table>
Run Code Online (Sandbox Code Playgroud)

编辑:您应该将所有样式/演示文稿放在(外部...)CSS中.

使用列的类(nth-child()如果你只针对现代浏览器,你可以使用css3选择器):

HTML:

<tr>
  <td class="col1">
  // etc
Run Code Online (Sandbox Code Playgroud)

CSS:

.col1, .col2 {
  white-space: nowrap;
}
.col3 {
  width: 99%;
}
Run Code Online (Sandbox Code Playgroud)

  • @ckaufman不推荐使用表,很多属性都是(`width`,`nowrap`等). (10认同)
  • 这有效,但我还必须在表的第二列添加一个`min-width`属性,以避免缩小. (2认同)