Как сделать так, чтобы последняя ячейка строки в таблице занимала всю оставшуюся ширину - PullRequest
64 голосов
/ 30 июня 2009

В приведенном ниже фрагменте HTML, как сделать так, чтобы ширина столбца, содержащего «LAST», занимала оставшуюся часть строки, а ширина столбцов, содержащих «COLUMN ONE» и «COLUMN TWO», была достаточно широкой, чтобы содержать их содержание, а не больше.

Спасибо

table {
  border-collapse: collapse;
}
table td {
  border: 1px solid black;
}
<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>

1 Ответ

96 голосов
/ 30 июня 2009

Вам нужно будет указать первые два столбца не переносить и дать последнему столбцу ширину 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>

Редактировать: Вы должны поместить все стили / презентации в (внешние ...) CSS.

Использование классов для столбцов (вместо них можно использовать селекторы css3, например nth-child(), если вы ориентируетесь только на современные браузеры):

HTML:

<tr>
  <td class="col1">
  // etc

CSS:

.col1, .col2 {
  white-space: nowrap;
}
.col3 {
  width: 99%;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...