Запретить фоновые изображения от прокрутки - PullRequest
2 голосов
/ 06 июля 2010

Ссылка на страницу: http://www.northtreestudios.com/sandbox/

Хотите знать, как я могу получить фоновые изображения моего сайта, чтобы не вызывать полосу прокрутки из-за их ширины / размещения. Я использую сетку 960 с 16 столбцами, но фон имеет несколько изображений в произвольных положениях, чтобы создать эффект детализации. Они не соответствуют сетке; они лежат слева и справа от контейнера.

Если вы посмотрите ссылку, вы увидите, что желтые полосы сверху не вызывают прокрутку, а белая снизу срабатывает, если размер окна меньше его ширины.

По сути, я хочу, чтобы горизонтальная полоса прокрутки появлялась только тогда, когда окно меньше по ширине, чем сетка 960. Все остальные графические дополнения слева или справа не должны вызывать прокрутку. Есть ли какой-нибудь способ справиться с этим гигантским неэффективным фоновым изображением?

Ответы [ 3 ]

4 голосов
/ 06 июля 2010

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

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

<body>
    <div class="wrapper background-foo">
        <!-- your content div -->
    </div>
</body>

Вам понадобится один фоновый div на изображение, и div должен быть полной ширины, чтобы фоновое изображение могло быть где угодно.Используйте background-position, чтобы расставить свои фоны.

Один трюк, который может быть полезен, если вы хотите, чтобы изображение находилось справа от центра, и торчало в сторону, вы можете подделать его так:

.background-ffo { background: url(...) no-repeat 400px center; }

, а затем фоновое изображение будет выглядеть так:

         +-----------------------------------------+
         |          .background-foo                |
         |                                         |
         |                                         |
         |                                         |
         |                                         |
         |                                         |
         |                                         |
  +------------------------------------------------------------+
  |      |                               ###################   |
  |      |      background image         ###################   |
  |      |                               ###################   |
  |      |                               ###################   |
  |      |                               ###################   |
  +------------------------------------------------------------+
         |                                         |   ^^ the bit of background
         |                                         |      you care about
         |                                         |
         +-----------------------------------------+

Так как это фон, и ваш div background-foo по-прежнему помещается на странице, как и ваш контент,не будет горизонтальных полос прокрутки.

0 голосов
/ 06 июля 2010

Изменить :

Я загрузил проект здесь http://www.mediafire.com/?cndgyaq4grw, надеюсь, что это поможет.


предыдущий ответ :

Добавьте position:fixed; right:0px; bottom:0px; к вашему background-stripe-bottom div.

0 голосов
/ 06 июля 2010

Добавить CSS overlow: нет атрибута

Так что, если он отображается в теге, добавьте следующее в CSS для этого элемента.

#oneDiv{
width: 960px;
height: 100px;
overflow:none;
}

Это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...