Может ли фоновое изображение быть больше, чем сам div?
у меня есть нижний колонтитул div с шириной 100%. Это около 50px высокий, в зависимости от его содержания.
можно ли дать этому # footer фоновое изображение, которое переполняет этот div?
изображение около 800x600px, и я хочу, чтобы он был расположен в левом нижнем углу нижнего колонтитула. Он должен работать как фоновое изображение для моего сайта, но я уже установил фоновое изображение на моем теле. Мне нужно другое изображение, расположенное в левом нижнем углу мой сайт и # нижний колонтитул div будет идеально подходит для этого.
#footer {
clear: both;
width: 100%;
margin: 0;
padding: 30px 0 0;
background:#eee url(images/bodybgbottomleft.png) no-repeat left bottom fixed;
}
изображение устанавливается в нижний колонтитул, однако оно не переполняет div. Возможно ли это сделать?
overflow:visible не выполнять работу!
9 ответов:
Я не верю, что вы можете сделать фоновое изображение переполнения его дел. Изображения, помещенные в теги изображений, могут переполнять их родительский div, но фоновые изображения ограничены div, для которого они являются фоном.
есть очень простой трюк. Установите заполнение этого div на положительное число и маржу на отрицательное
#wrapper { background: url(xxx.jpeg); padding-left: 10px; margin-left: -10px; }
вы можете использовать CSS3 psuedo элемент, как показано в этой статье
https://www.exratione.com/2011/09/how-to-overflow-a-background-image-using-css3/
Нет, ты не можешь.
но в качестве надежного обходного пути я бы предложил классифицировать этот первый div как
position:relativeи использоватьdiv::beforeдля создания базового элемента, содержащего ваше изображение. Классифицируется какposition:absoluteвы можете переместить его в любом месте относительно вашего начального div.не забудьте добавить содержимое в новый элемент. Вот несколько примеров:
div { position: relative; } div::before { content: ""; /* empty but necessary */ position: absolute; background: ... }Примечание: Если вы хотите, чтобы он был "сверху" родительского div, используйте .
вы упомянули уже имея фоновое изображение на
body.вы может установлено, что фоновое изображение
html, и наbody. Это, конечно, будет зависеть от вашего макета, но вам не нужно будет использовать свой нижний колонтитул для этого.
использование обложки фонового размера работало для меня.
#footer { background-color: #eee; background-image: url(images/bodybgbottomleft.png); background-repeat: no-repeat; background-size: cover; clear: both; width: 100%; margin: 0; padding: 30px 0 0; }очевидно, быть в курсе проблем с поддержкой, проверьте могу ли я использовать:http://caniuse.com/#search=background-size
не совсем - фоновое изображение ограничено элементом, к которому оно применяется, и свойства переполнения применяются только к содержимому (т. е. разметке) внутри элемента.
вы можете добавить еще один div в нижний колонтитул div и применить фоновое изображение к этому, хотя, и иметь это переполнение вместо этого.
это может помочь. Это требует, чтобы высота нижнего колонтитула была фиксированным числом. В принципе, у вас есть div внутри нижнего колонтитула div с его нормальным содержанием, с
position: absolute, а затем изображение сposition: relativeотрицательныйz-indexтаким образом, он остается "ниже" всего, и отрицательныйtopзначение высоты нижнего колонтитула минус высота изображения (в моем примере,50px - 600px = -550px). Протестировано в Chrome 8, FireFox 3.6 и IE 9.
используйте свойство trasform: scale (1.1), чтобы увеличить изображение bg, переместите его вверх с позиции: relative; top: -10px;
<div class="home-hero"> <div class="home-hero__img"></div> </div> .home-hero__img{ position:relative; top:-10px; transform: scale(1.1); background: { size: contain; image: url('image.svg'); } }
Comments