2009-10-22 2 views
0

Можно ли расширить элемент background в div вне рамки div?Расширение фона за элементом div

И последующий вопрос, касающийся временного решения я нашел:

Я положил <img> в моем HTML-код, расположенный позади моего основного содержания. Это отображает все фоновое изображение правильно, но есть полосы прокрутки, расширяющие всю длину изображения, и, конечно, изображение можно выбрать. Есть ли способ удалить полосы прокрутки и сделать это изображение неизменным?

Причина, по которой я не помещаю фоновое изображение в стиле CSS, заключается в том, что я хочу, чтобы фон был прикреплен к моему контенту при изменении размера окна браузера.

ответ

0

Возможно, вам стоит попробовать использовать этот фон для изображений из CSS, а затем другие элементы не будут автоматически изменяться?

+0

Если я использую функцию «background» в CSS, изображение не «сопровождается» содержимым при изменении размера окна. Мой контент центрируется с помощью автоматического поля. – fr0th

+0

, даже если вы устанавливаете фон: центр центра no-repeat url (где находится ваше изображение) – eugeneK

0

Возможно, я не вижу в голове то, что вы хотите ... но есть атрибуты CSS для удаления полос прокрутки из элементов, просто используйте свойство переполнения и установите его в скрытое.

http://www.w3.org/TR/CSS2/visufx.html#overflow

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

Насколько я знаю, невозможно сделать фоновое содержимое больше, чем отображаемый на нем элемент.

1

Попробуйте использовать дополнительную обертку <div> и установите для нее фоновое изображение.

1

Вопрос 1: Нет

Вопрос 2: Используйте background-image свойство вместо <img>. Вы можете разместить это в содержащем <div> за вашим контентом или в том же поле, что и ваш контент. Использование background-image не даст вам никаких полос прокрутки.

+0

Не будет ли обрезаться/содержать фон в размере 'div', если я не укажу для него ширину и высоту, соответствующую размерам изображения? И как только я укажу эти размеры, не появятся полосы прокрутки? – fr0th

+0

Это будет обрезано, да. Если появляются полосы прокрутки, это связано с переполнением содержимого, а не с фоновым изображением. Обрезка не должна быть проблемой (обычно это желательно), но тогда я не могу представить, что вы пытаетесь сделать. – stephenhay

0

Вы можете поместить фоновое изображение за пределы своего подразделения, но используйте позиционирование CSS, чтобы сохранить его в нужном месте при изменении размера браузера. Общим решением является то, что фоновое положение установлено в центр, а также разделение, которое удерживает их в одном и том же месте.

1

«Можно ли продлить фоновый элемент в DIV вне сНа кадра»

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

<div id="top" style="padding:0 0 300px 0; margin:0 auto -700px; background:red;" > 
my top content which can grow in height as much as possible.<br /><br /> 
my top content which can grow in height as much as possible.<br /><br /> 
my top content which can grow in height as much as possible.<br /><br /> 
my top content which can grow in height as much as possible.<br /><br /> 
my top content which can grow in height as much as possible.<br /><br /> 
my top content which can grow in height as much as possible.<br /><br /> 
my top content which can grow in height as much as possible.<br /><br /> 
my top content which can grow in height as much as possible.<br /><br /> 
</div> 

<div id="bottom" style="margin:400px 0 0; padding:0; height:300px;"> 
my bottom content at a set height - required!<br /><br /> 
</div> 

Надеюсь, это поможет! И вот updated jsfiddle, так что вы можете сразу увидеть, как это выглядит.

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