Я пытаюсь поместить абсолютно позиционированный элемент под относительно позиционированный. Синее поле ДОЛЖНО быть расположено относительно из-за ограничений в разработке сайта.
Представьте, что речевой пузырь — это синяя рамка, а хвост пузыря — это псевдоэлемент :after. Мне нужно, чтобы зеленая рамка располагалась за ними обоими, так как она содержит фон для этих двух элементов.
div.layer01 {
background-color: blue;
position: relative;
z-index: 10;
}
div.layer01:after { /* This is the tail of the bubble */
display: block;
background-color: red;
content: '\00a0';
width: 30px;
height: 30px;
position: absolute;
right: 20px;
top: 50px;
border: 3px #fff solid;
}
/* This should be behind the tail and the blue box (bubble) */
div.layer01 div.layer02 {
background-color: green;
width: 320px;
height: 125px;
display: block;
position: absolute;
z-index: 5;
}
<div class="layer01"> <!-- speech bubble -->
<div class="layer02">Why isn't this below the blue?</div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus non dolor quis leo malesuada pharetra at in massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>
</div>
ИСПРАВИТЬ:
Взял элемент, который я хотел расположить, из относительно позиционированного элемента, а затем обернул содержимое в новый div. Добавляет разметку, но, похоже, это был единственный способ.