В следующей таблице я хочу, чтобы первый столбец и последний столбец (столбцы идентификатора и флажка) были равны по размеру их содержимому. Обратите внимание, что оба эти столбца шире, чем их содержание. Я хочу, чтобы они тщательно оценивали содержание.
Я хочу, чтобы центральные столбцы (исходный и целевой) расширились, чтобы занять оставшуюся ширину таблицы, но они должны иметь одинаковую ширину. Ширина источника всегда должна равняться целевой ширине.
Я знаю, что могу установить размер первого и последнего столбца, который должен быть зафиксирован в пикселях, но я хочу избежать этого, если это возможно.

Мой код выглядит примерно так (без стилей):
<table>
<thead>
<tr>
<th>
</th>
<th>
Source
</th>
<th>
Target
</th>
<th>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
0
</td>
<td>
hello
</td>
<td>
</td>
<td>
<input type="checkbox" />
</td>
</tr>
</tbody>
</table>