Добавление скрытой строки в таблицу в IE8 приводит к появлению неожиданных пробелов

#html #html-table #internet-explorer-8

#HTML #html-таблица #internet-explorer-8

Вопрос:

Наблюдается нечто странное. Внутри таблицы есть несколько строк, которые продолжают увеличиваться в каждой 5-й строке, 'on change' поэтому для выполнения нескольких операций в каждую строку добавляется hidden поле. В Firefox это работает отлично, но в IE8 скрытая строка складывается в начале таблицы и создает пробел между строками и заголовком, как показано ниже:

введите описание изображения здесь

При тщательном рассмотрении (IE developer tools, F12) было показано, что скрытые строки — это те, которые увеличивают пространство, как показано. Кто-нибудь может подсказать, как сохранить скрытое значение, не нарушая пространство заголовка таблицы.

введите описание изображения здесь

Я попробовал альтернативное решение, добавив как часть <td> , которое дает неожиданные результаты, потому что строки ведут себя как-то независимо, работает на основе условий, а также столбцы могут быть показаны или скрыты. Поэтому я определенно хочу, чтобы это было вне всех, <td>s но внутри <tr> кто-нибудь, пожалуйста, может помочь. Пожалуйста, также объясните, почему в FireFox нет проблем

Комментарии:

1. Что произойдет, если вы оформите их соответствующим образом, чтобы их относительное положение и высота были равны 0px?

2. @Graeme не могли бы вы привести наглядный пример, пожалуйста

3. вместо того, чтобы делать ее скрытой… оформите это .. т.е. имя класса «hiddenrow» .hiddenrow {дисплей: блок; переполнение: скрытый; высота: 0px;} попробуйте это

Ответ №1:

Недопустимо иметь что-либо, кроме <th> или <td> внутри <tr> . Я предлагаю сначала исправить вашу разметку. Кстати, для чего предназначено это скрытое поле?

Комментарии:

1. просто чтобы захватить значения всей строки

2. Я бы предложил добавить еще одну ячейку (чтобы содержать скрытый элемент) в каждую строку, а затем присвоить ее свойству visibility or display значение none . В противном случае «скрытые» поля, очевидно, не отображаются в форме, поэтому вы действительно можете поместить их в любую ячейку в строке…