У меня есть очень конкретная конструкция таблицы html, которая, кажется, обнаруживает ошибку Gecko.
Вот дистиллированная версия проблемы. Обратите внимание на следующую таблицу в браузере на основе gecko (например, FF): (вам придется скопировать и вставить ее в новый файл)
<style>
table.example{
border-collapse:collapse;
}
table.example td {
border:1px solid red;
}
</style>
<table class = "example">
<thead>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td rowspan = "3">3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td rowspan = "2">2</td>
</tr>
<tr>
<td>1</td>
<td>3</td>
</tr>
</tbody>
</table>
В нижней правой ячейке над цифрой «3» отсутствует строка - просмотрите ее в любом другом браузере, и строка будет отображаться должным образом. Что интересно, отбросьте раздел таблицы thead и посмотрите, что мы получим:
<style>
table.example{
border-collapse:collapse;
}
table.example td {
border:1px solid red;
}
</style>
<table class = "example">
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td rowspan = "3">3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td rowspan = "2">2</td>
</tr>
<tr>
<td>1</td>
<td>3</td>
</tr>
</tbody>
</table>
Это заставляет его работать. Кто-нибудь это видел? Полагаю, я сейчас просто избавлюсь от раздела thead в качестве временного решения, хотя это сделает таблицу менее доступной.






Странно ... определенно ошибка рисования. Если вы щелкните правой кнопкой мыши, чтобы контекстное меню появилось над часть того места, где должна быть строка, то при закрытии контекстного меню строка будет перерисована под ним.
Обновлено: обходной путь - если вы поместите style = "border-color: ...;" на <td rowspan = "3">, вы можете получить границу, но это должен быть цвет разные - просто используйте тот, который как можно ближе к другим. Например, если таблица # ff0000, используйте # ff0001
Я тоже обнаружил эту ошибку, но она не на моем компьютере, а на другом. Если я изменю размер окна браузера после определенного разрешения, строки исчезнут. как только я разверну окно до максимума, все вернется. вы можете исправить это навсегда, установив border-collapse: separa; это дает каждому расточителю каждой ячейки свою ширину. Это не то, чем я хочу заниматься, но это работает.
Это также может быть вызвано использованием border-collapse: collapse; затем установите выравнивание границ на 1px, а затем на 0px. Поскольку он сжимает границы, кажется, что приоритет отдается 0px по ширине 1px.
в любом случае это только firefox, и это еще одна причина отойти от него.
для удобства первый пример: jsfiddle.net/eahb2t90/2