Как я могу скрыть строку таблицы HTML <tr>, чтобы она не занимала места? - PullRequest
95 голосов
/ 17 июля 2009

Как я могу скрыть строку таблицы HTML <tr>, чтобы она не занимала места? У меня для нескольких <tr> установлено значение style="display:none;", но они все равно влияют на размер таблицы, и граница таблицы отражает скрытые строки.

Ответы [ 15 ]

92 голосов
/ 17 июля 2009

Можете ли вы включить код? Я все время добавляю style="display:none;" к строкам таблицы, и она эффективно скрывает всю строку.

50 голосов
/ 10 августа 2012

Вы можете установить <tr id="result_tr" style="display: none;"> и затем показать его обратно с помощью JavaScript:

var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';
34 голосов
/ 17 июля 2009

Я бы очень хотел увидеть стиль вашего TABLE. Например. «Пограничный коллапс»

Просто предположение, но это может повлиять на то, как отображаются «скрытые» строки.

7 голосов
/ 17 июля 2009

Если display: none; не работает, как насчет установки height: 0; вместо этого? В сочетании с отрицательным полем (равным или превышающим высоту верхней и нижней границ, если таковые имеются) для дальнейшего удаления элемента? Я не думаю, что position: absolute; top: 0; left: -4000px; сработает, но стоит попробовать.

С моей стороны, использование display: none отлично работает.

6 голосов
/ 04 сентября 2018

Думаю, я бы добавил к этому потенциальное другое решение:

<tr style='visibility:collapse'><td>stuff</td></tr>

Я только что протестировал его в Chrome, но, поместив его на <tr>, скрывает строку, плюс все ячейки внутри строки все еще влияют на ширину столбцов. Иногда я создаю дополнительную строку в нижней части таблицы, используя только несколько разделителей, которые делают ее так, чтобы определенные столбцы не могли быть меньше определенной ширины, а затем скрываю строку, используя этот метод. (Я знаю, что вы должны быть в состоянии сделать это с другими CSS, но я никогда не заставлял это работать)

Опять же, я нахожусь в чисто хромированной среде, поэтому понятия не имею, как это работает в других браузерах.

4 голосов
/ 24 июня 2012

У меня была та же проблема, я даже добавил style = "display: none" в каждую ячейку.

В конце концов я использовал комментарии HTML <!-- [HTML] -->

4 голосов
/ 17 июля 2009

Добавьте некоторые из следующих значений высоты строки: 0px; размер шрифта: 0px; высота: 0px; поле: 0; отступ: 0;

Я забыл, кто это делает. Я думаю, что это высота строки для IE6.

3 голосов
/ 13 мая 2013

Вы можете использовать стиль отображения: ни один с tr для скрытия, и он будет работать со всеми браузерами.

2 голосов
/ 03 декабря 2009

Это случилось со мной, и я был озадачен, почему. Тогда я заметил, что если я удалил nbsp; у меня было внутри строк, то строки не занимали места.

1 голос
/ 21 мая 2014
var result_style = document.getElementById('result_tr').style;
result_style.display = '';

отлично работает для меня ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...