Как наложить один div на другой div без использования position: absolute?
у меня есть два divs с двумя изображениями:
<div id="div1">
<div id="div2">
<img src="img1" />
</div>
<img src="img2" />
</div>
второй-немного меньше, чем первый. Как я могу поместить второе изображение, на первое изображение без использования
#div2{
position: absolute;
}
мне нужно как результат, но без использования абсолютного свойства позиции;
основная проблема заключается в том, что в Родительском div есть много других элементов, а не только div2.
4 ответов
отрицательные поля
вы можете делать лоты с отрицательной маржей. Я создал пример С двумя изображениями без каких-либо divs.
<img src="http://www.lorempixel.com/300/300">
<img class="small" src="http://www.lorempixel.com/200/200">
And some text
<img class="small top" src="http://www.lorempixel.com/200/200">
<img src="http://www.lorempixel.com/300/300">
And some more text
CSS:
img {
display: block;
}
.small {
margin: -202px 0 0 0;
border: 1px solid #fff;
}
.small.top {
position: relative;
margin: 0 0 -202px 0;
}
мой вопрос к вам, почему вы должны делать это без
#div2 {
position: absolute;
}
Если проблема, с которой вы сталкиваетесь, заключается в том, что она абсолютна для страницы, а не div, убедитесь, что #div1 имеет следующее:
#div1 {
position:relative;
}
вы могли бы гнездо div2
внутри div1
:
<div id="div1">
<img src="\img1.png" />
<div id="div2">
<img src="\img1.png" />
</div>
</div>
это не хороший подход к использованию отрицательных полей. Особенно при шаблонах электронной почты gmail отклоняет отрицательную маржу и позиции. Так что другой способ
<div class='wrapDiv' style='width: 255px;'>
<div class='divToComeUp' style='
float: left;
margin-top: 149px; width:100%;'>This text comes above the .innerDiv
according to the amount of margin-top that you give</div>
<div class='innerDiv' style='width:100%; height:600px'>
Inner div Content
</div>
</div>