Ошибка центрирования в Firefox 3 (какие-либо CSS-хаки или исправления?) - PullRequest
2 голосов
/ 10 января 2009

У меня возникли проблемы с центрированными элементами в Firefox 3. (Я искал и не смог найти ответ на этот вопрос - надеюсь, это не повторная публикация)

Я сократил код до двух элементов, чтобы продемонстрировать это - вы можете увидеть это здесь: http://prwmusic.com/misc/csstest/home-sample-fix.html

Теперь медленно делайте окно браузера шире и уже. Предполагая, что вы используете Firefox 3, видите ли вы, как белый фон появляется и выходит на левой стороне синего DIV с каждым пикселем, который вы перетаскиваете шире или уже? Тем не менее, IE6, IE7, Safari и даже FF2 в порядке.

Я создал один DIV и добавил к этому DIV « белую страницу с теневым фоном », чтобы посетители могли сделать браузер как можно более узким, прежде чем появятся горизонтальные полосы прокрутки. Тогда есть один вложенный DIV, который имеет синий фон. Белая область на заднем плане и синий элемент div имеют ширину 970 пикселей, поэтому они оба должны всегда совпадать, поскольку они оба расположены по центру.

Похоже, что происходит, когда размер окна является нечетным числом, Firefox добавляет 1 к правой стороне фонового изображения, но добавляет 1 к левой стороне переднего плана, которая отбрасывает все.

Первой мыслью может быть «просто включить синий цвет в фоновое изображение». Но фактический дизайн проекта, над которым я работаю, довольно сложный, и эта странность встречается по всему сайту, по всем верхним и нижним частям страниц - я не могу выбрать, чтобы синий был частью фона. Я использую этот простой пример для демонстрации.

Есть ли способ сохранить элементы всегда выровненными в Firefox 3, чтобы гарантировать, что, если чей-то браузер нечетной ширины, не будет лишних отображений? (очевидно, не нарушая его во всех других браузерах)

Ответы [ 2 ]

1 голос
/ 10 января 2009

Это ошибка округления. См. эту тему на форуме mozillaZine , в которой подробно описаны возможные исправления.

0 голосов
/ 10 января 2009

У вас есть элемент фиксированной ширины внутри другого элемента.

Попробуйте использовать фиксированный элемент в качестве контейнера и установите ширину для внутреннего элемента на 100%.

...