it-swarm.com.ru

Как я могу скрыть строку таблицы HTML <tr>, чтобы она не занимала места?

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

90
MikeN

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

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

34
o.k.w

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

91
Calvin

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

var result_style = document.getElementById('result_tr').style;
result_style.display = 'table-row';
47
Jamshid Hashimi

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

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

7
David Thomas

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

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

4
Simon Hughes

Добавьте некоторые из следующих значений line-height: 0px; font-size: 0px; height: 0px; margin: 0; padding: 0;

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

4
s_hewitt

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

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

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

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

4
rgbflawed

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

3
Shahid Siddique

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

2
Kevin H
var result_style = document.getElementById('result_tr').style;
result_style.display = '';

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

1
Vignesh

Вам нужно поставить изменение типа ввода на скрытый, все его функции работают, но его не видно на странице

<input type="hidden" name="" id="" value="">

до тех пор, пока тип входа установлен на это, вы можете изменить остальные . Удачи!

0
user5431987