У меня есть div с фоновым изображением. Внутри этого div находится абсолютно позиционированный div с текстом в нем. В ширинах> 650, текст представляет собой прямоугольник, плавающий внутри div. При ширине < = 650 текст привязан к нижней части div со 100% шириной."push up" background over content with dynamic height
Когда это произойдет, оно расположено поверх нижней части фонового изображения. Я хотел бы, чтобы фоновое изображение получилось «нажатым», чтобы вы могли видеть нижнюю часть фонового изображения. Я мог бы дать отрицательное смещение к фоновой позиции, , но высота содержимого динамическая, потому что текст обертывается в соответствии с шириной области просмотра, поэтому я не буду знать высоту, так, чтобы указать конкретное смещение/margin не является опцией.
Есть ли способ сделать это в чистом CSS с дизайном, который у меня есть? Я хотел бы избежать JavaScript, и избежать реорганизации макет HTML (например, с использованием<img>
вместоbackground-image
).
Изображения, описывающие ситуацию ниже, ниже код, что:
#container{
background-image:url("http://i.imgur.com/u4xZlez.png");
background-size:100%;
height:400px;
display:block;
position:relative;
width:100%;
max-width:650px;
border:1px solid red;
background-repeat:no-repeat;
}
#content{
position:absolute;
top:10%;
display:block;
background-color:white;
width:60%;
margin-left:10%;
border:1px solid black;
}
@media(max-width:650px){
#content{
bottom:0px;
top:auto;
width:100%;
margin-left:0px;
}
}
<div id="container">
<div id="content">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna. Nunc viverra imperdiet enim. Fusce est.</p>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna. Nunc viverra imperdiet enim. Fusce est.</p>
</div>
</div>
Это прекрасно! Я думаю, что я хорошо понимаю эту идею, чтобы реализовать ее, но мне определенно нужно стирать себя с помощью гибкой коробки. Кроме того, понятия не имели, что вы можете наследовать фоновое изображение. Отличная информация! – chiliNUT
Кроме того, чтобы избавиться от эффекта «удвоения», внутри медиа-запроса вы можете добавить 'background-size: 0%' to '# container', чтобы он был скрыт, но' #container :: before' все еще может наследовать его. – chiliNUT
Счастлив, что это помогло. Я не заметил эффекта удвоения, я отредактировал фрагмент в ответе, чтобы отразить вашу (очень хорошую) идею. – vals