Когда вы указываете ширину третьего td
как 100%
, это означает, что его ширина должна быть такой же, как и у его родителя, что в данном случае соответствует tr
.Вот почему первый и второй td
сжимаются, поскольку третий td
пытается занять всю ширину строки.
Если в первых двух td
с нет абсолютно никакого контента, вы их даже не увидите.Поскольку в этих td
s есть некоторый контент, браузер выделяет минимально возможное пространство для этих двух элементов, а остальная часть ширины ограничивается третьим делением.
См. demo на jsfiddle о том, что происходит, когда ширина последнего td
равна 50%
.Вы увидите, что он занимает ровно половину ширины строки.
Чтобы исправить эту ситуацию, задайте процентную ширину для первых двух td
с, а затем оставьте ширину третьего пустым. Здесь - это демонстрация, демонстрирующая этот подход.