Мне дали дизайн для сайта, и я пытаюсь его реализовать.
Одна проблема, с которой я столкнулся, заключается в том, что дизайн имеет несколько фоновых изображений (одно для верхнего колонтитула, одно для основного текста и одно для нижнего колонтитула сайта), которые шире, чем основная область контента сайта.
Простое размещение их в качестве фоновых изображений не работает, поскольку расширение разделителей верхнего и нижнего колонтитула, достаточное для размещения фона, приводит к появлению горизонтальных полос прокрутки, если окно браузера недостаточно велико, чтобы полностью отобразить фон.
Это нежелательно, поскольку фоны не очень важны для просмотра веб-сайта, и я не хочу, чтобы для них появлялись полосы прокрутки (полосы прокрутки должны появляться только в том случае, если браузер слишком мал, чтобы полностью отобразить содержимое сайта).
Второй метод состоит в том, чтобы иметь отдельный, абсолютно позиционированный div для отображения фонового изображения заголовка (и поместить его под элемент с размером окна браузера), и установить его ширину равной 100%, чтобы он никогда не превышал размер окно браузера (и, следовательно, создать полосы прокрутки).
Это работает до некоторой степени - однако, когда окно слишком маленькое, фон начинает смещаться относительно контента, так как позиция «верхнего центра» фона относительно окна браузера , а не область содержимого . При больших размерах они фактически одинаковы, поскольку область содержимого центрирована, но при небольших размерах отображается только часть содержимого, поэтому центр содержимого и центр окна браузера отличаются.
Хорошей иллюстрацией этой проблемы, которую я обнаружил, является веб-сайт Quicken: http://quicken.intuit.com/. При больших размерах фон облаков выглядит хорошо, но если вы сделаете ширину своего окна достаточно маленькой, облака начнут смещаться относительно к содержанию (плохо!).
Любые идеи о том, как это исправить, чтобы фоновые изображения
- не создавать полосы прокрутки, так как они не являются частью содержимого сайта
- фиксированы относительно содержимого сайта (и не меняются при небольших размерах окна браузера)
Идеальным решением было бы что-то вроде превращения переполнения в скрытое на теле, но только для указанных div. К сожалению, я считаю, что это невозможно.
Я бы предпочел чисто html / css решение, но я согласен, что мне может понадобиться js, чтобы получить желаемый эффект.
Спасибо! (это сложный вопрос, поэтому, если требуется какое-либо разъяснение, дайте мне знать)
ОБНОВЛЕНИЕ: Исправлено это путем установки минимальной ширины на фоне div к ширине содержимого.