Избегать растягивания строк таблицы с фиксированной высотой таблицы и переменным количеством строк? - PullRequest
1 голос
/ 01 ноября 2009

У меня есть таблица в форме HTML. Он имеет фиксированную высоту по оптическим причинам. Количество строк в таблице варьируется в зависимости от количества доступных полей формы.

Проблема: если строк очень мало, все строки растягиваются по вертикали, увеличивая пространство между входными элементами.

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

Что я могу сделать? У меня есть последняя (пустая) строка, но я не знаю, что туда поместить, чтобы она автоматически занимала все «доступное» пространство.

Ответы [ 4 ]

1 голос
/ 04 февраля 2010

Поместите таблицу без роста в div с фиксированной высотой, которая имитирует таблицу (border? Bgcolor?).

Кстати, просто делать tbody { display: inline; } вместо пустой строки работает во всех реальных браузерах. Нет, не в MSIE. Элемент tbody имеет много недостатков в MSIE. Также отсутствует возможность overflow: scroll;, что было бы здорово иметь прокручиваемую таблицу с фиксированным заголовком.

0 голосов
/ 25 февраля 2011

Да, веб-сайты, основанные на таблицах, не имеют возраста, однако вам все равно нужны таблицы для отображения данных. На самом деле я должен согласиться с Пеккой, что это невозможно в самой ячейке таблицы, но есть кое-что, что мы можем создать:

Попробуйте обернуть данные внутри ячейки td в div и задайте для стиля div желаемую высоту и установите для свойства overflow значение hidden.

.
0 голосов
/ 04 февраля 2010

Я думаю, это невозможно.

0 голосов
/ 01 ноября 2009

Не могли бы вы установить высоту ячейки на 100% для последней пустой строки, это, вероятно, должно привести к тому, что последняя строка займет остаток фиксированного пространства

...