Почему Firefox пропускает границу на некоторых HTML-таблицах

Я использую Firefox 3.5.7, и мне использовали тот же CSS в нескольких HTML-таблицах, но существуют некоторые примеры, где части границ не показывают.

То, что не имеет никакого смысла мне, - то, что тот же CSS на той же странице для другой HTML-таблицы хорошо работает. Кроме того, та же страница в Internet Explorer выглядит хорошо от пограничной точки представления.

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

enter image description here

У кого-либо есть подсказка, почему это произошло бы здесь?

23
задан Brian Tompsett - 汤莱恩 18 May 2017 в 16:21
поделиться

1 ответ

По соглашению следует добавить событие OnResizing , которое срабатывает сразу после изменения, но не изменяется, а затем запустить OnResize после изменения размера. Старое значение будет получено из события EventArg в событии OnResizing .

Изменить:

создаете ли вы собственное событие или запускаете один из включенных элементов управления?

Если вы делаете собственное событие, вы можете извлечь из EventArg и сделать что-то вроде ResityEventArg , которые включают размер нужной вещи.

Я использую ResityEventArg для событий Resize и OnResizing и продолжаю следовать тому, что я сказал ранее.

Или если вы знаете, какой это тип управления, вы можете поместить Отправитель объекта в тип и затем прочитать свойство.

-121--3612822-

Ваше помещение неисправно. x * (a + b) , является (в общем случае) не менее точным, чем x * a + x * b . На самом деле, она часто будет более точной, потому что она выполняет только две операции с плавающей точкой (и, следовательно, несет только две ошибки округления), тогда как последняя выполняет три операции.

Если вы знаете что-то об ожидаемом распределении значений для x , a и b априори, то вы можете принять осознанное решение, но компиляторы почти никогда не имеют доступа к такому типу информации.

Что, кроме того, если человек, пишущий программу, на самом деле имел в виду x * (a + b) и конкретно хотел точно округлить, которые вызваны этой конкретной последовательностью операций? Такие вещи на самом деле довольно распространены в высококачественных числовых алгоритмах.

Лучше делать то, что написал программист, а не то, что, по вашему мнению, он мог задумать.

Edit -- Пример, иллюстрирующий случай, когда предложенное преобразование приводит к катастрофической потере точности: предположим,

x = 3.1415926535897931
a = 1.0e15
b = -(1.0e15 - 1.0)

Затем, оценивая в double мы получаем:

x*(a + b) = 3.1415926535897931

, но

x*a + x*b = 3.0
-121--4716580-

Возможно, вы немного увеличили масштаб. Это может произойти случайно или сознательно при выполнении команды Ctrl + Scrollwheel. Может быть, он не полностью сброшен до нулевого уровня зумирования. Это неправильное поведение визуализации затем распознается на некоторых веб-сайтах, также здесь, в SO.

Чтобы исправить это, просто нажмите Ctrl + 0 или View > Zoom > Reset , чтобы сбросить уровень масштабирования до значения по умолчанию.

Это ошибка Firefox/Gecko 410959 . Это влияет на таблицы с border-collapse: collapse . Это с 2008 года, и в этом нет реального прогресса, так что вам, вероятно, нужно найти обходной путь. Одним из способов является использование краев-коллапс: разделение и совпадение с границами по ячейкам.

61
ответ дан 29 November 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: