Центрированное фоновое изображение отключено на 1 пиксель

Моя веб-страница находится в DIV шириной 960 пикселей, я центрирую этот DIV в середине страницы, используя код:

html,body{background: url(images/INF_pageBg.gif) center top repeat-y #777777;text-align:center;}
#container{background-color:#ffffff;width:960px;text-align:left;margin:0 auto 0 auto;}

Мне нужно, чтобы фоновое изображение html / body было расположено по середине страницы, что он и делает, однако, если видимая панель в браузере имеет нечетное количество пикселей шириной, тогда центрированный фон и центрированный DIV не выравниваются вместе .

Это происходит только в FF.

Кто-нибудь знает обходной путь?

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
0
4 053
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Ответ принят как подходящий

Да, это известная проблема. К сожалению, вы можете исправить только ширину div и изображения или использовать скрипт для динамического изменения свойства stye.backgroundPosition. Еще одна хитрость - добавить выражение в определение класса CSS.

FF @ fault? Блин ... ненавижу, когда мой приятель меня подводит.

mpen 09.05.2010 11:45

Самая (наиболее) распространенная проблема заключается в том, что ваше фоновое изображение имеет нечетное число, а ваш контейнер - четное число. Я написал статью на моем лучшем английском о том, где я также объясняю, как браузер позиционирует ваше изображение: посмотри здесь.

Я обнаружил, что, создавая фоновое изображение с нечетным числом пикселей в ширину, проблема для Firefox решается.

Установка отступов: 0px 0px 0px 1px; устраняет проблему для IE.

Карло Капокаса, Travian Games

Я смог решить эту проблему с помощью jQuery:

$(document).ready(function(){
 $('body').css({
  'margin-left': $(document).width()%2
 });
});

У меня такая же проблема.

Чтобы получить по центру фона, вам необходимо иметь фоновое изображение шире, чем область просмотра. Попробуйте использовать фон 2500 пикселей шириной. Это заставит браузер центрировать часть изображения, которую можно просмотреть.

Сообщите мне, если это сработает для вас.

Проблема не в этом. Проблема в том, что каждый браузер по-своему округляет ширину области просмотра до целого числа. Некоторые браузеры используют потолок (следующее по величине число) или пол (число без дроби).

Ryan 12.07.2012 01:44

А как насчет создания div-оболочки с тем же фоновым изображением.

body{ background: url(your-image.jpg) no-repeat center top; }
#wrapper{ background: url(your-image.jpg) no-repeat center top; margin: 0 auto; width: 984px; }

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

Другие вопросы по теме