2011-01-20 3 views
0

Я пытаюсь использовать div, чтобы повторить фон до 100% высоты содержимого внутри обертки.Переполнение скрытой проблемы с повторением фона div

Я использую overflow: hidden для этого, но это (неудивительно) отключает контент в точке, зависящей от разрешения экрана пользователя.

Удаление линии overflow:hidden означает, что фон не будет повторяться вообще, а div #wrapper не принимает полную высоту содержимого.

Вы можете увидеть мой код и превью здесь - http://jsbin.com/ikuba4/2 - если у кого есть указатели, это было бы здорово!

EDIT: Для того, чтобы уточнить, вопрос в том, что мне нужна мой #wrapper DIV (который содержит фрагмент фонового изображения повторяющегося по вертикали) должно динамически расширять его высоту до высоты #inner_wrapper дел - удаление overflow:hidden результатов в #wrapper не Div увеличивая его высоту вообще, в то время как использование overflow:hidden увеличивает высоту до точки, но затем содержимое обрезается.

+0

Что вы имеете в виду "Повторять фон на высоте 100%"? Растянуть изображение? –

+0

Я имею в виду, что содержащий #wrapper div (содержащий срез фонового изображения) должен быть полной высотой div #inner_wrapper внутри него. На данный момент самое близкое, что я могу сделать для этой работы, - это использовать переполнение: hidden – spinozf

+0

ОК, похоже, что ответ на тридцать вопросов - это то, что вам нужно? В любом случае, комментируя комментарий, используйте '@', как я сделал сейчас, чтобы уведомить человека, достаточно первых трех букв. –

ответ

2

На #wrapper:

  • Удалить height: 100%.
  • Удалить overflow: hidden.

На #inner_wrapper:

  • Удалить height: 100%.
  • Добавить overflow: hidden.

Тестирование с помощью Firefox/Firebug, эти шаги сортируют его.

Это fixed jsBin, который выполняет эквивалент этих шагов.

Edit:
Как @Marnix отметил в своем ответе, вы должны также удалить height: 100% из #outer_container - Я не думаю, что есть какая-либо необходимость для того, чтобы быть там.

+0

Спасибо @thirtydot - отлично работает. Я ошибочно думал, что для такого типа макета мне нужно было установить все внешние, содержащие divs, на высоту: 100%, но это, очевидно, не так :) – spinozf

2

Немного отличается, который работает так же:

#outer_container

  • удалить height: 100%

#wrapper

  • удалить height: 100%

#inner_wrapper

  • удалить height:100%
  • добавить overflow:auto
+0

Cheers @Marnix, хорошо знать другой способ достичь этого – spinozf

+0

+1 для замечая бесполезную высоту: 100% 'на' # external_container'. – thirtydot

Смежные вопросы