Мне нужна помощь в позиционировании элементов поверх гибкого элемента. У меня есть 3 изображения в одном ряду. В левом нижнем углу каждого изображения я хочу добавить 2 элемента, зеленый квадрат и рядом с ним название бренда. Название бренда должно иметь верхнюю границу ширины изображения. На втором изображении я хотел бы добавить третий элемент в верхнем правом углу. Я сделал простым jsfiddle , чтобы продемонстрировать, где я застрял. Это - это то, что мне нужно сделать.
<div class="flex-container">
<ul>
<li>
<img src="https://upload.wikimedia.org/wikipedia/commons/4/45/Red_High_Heel_Pumps.jpg">
<span class="item-price group">$145.99</span>
<span class="item-brand-name group">Even</span>
</li>
<li>
<img src="https://upload.wikimedia.org/wikipedia/commons/4/45/Red_High_Heel_Pumps.jpg" >
<span class="item-price group">$145.99</span>
<span class="item-brand-name group">Even</span>
<span class="on-sale">on sale</span>
</li>
<li>
<img src="https://upload.wikimedia.org/wikipedia/commons/4/45/Red_High_Heel_Pumps.jpg">
<span class="item-price group">$145.99</span>
<span class="item-brand-name group">Buffalo</span>
</li>
</ul>
</div>
CSS
.flex-container {
display: flex;
}
img {
width: 300px;
height: 270px;
}
.flex-container ul {
display: flex;
align-items: center;
justify-content: space-between;
}
.flex-container li {
display: flex;
position: relative;
justify-content: space-between;
}
.flex-container .group {
position: absolute;
justify-content: center;
align-items: center;
transform: translate(20px, 200px)
}
.flex-container .item-price {
font-size: 0.8rem;
color: white;
background: rgb(87, 197, 160);
height: 67px;
width: 67px;
justify-content: center;
align-items: center;
text-align: center;
display: inline-flex;
}
.flex-container .item-brand-name {
font-size: 0.8rem;
color: white;
width: 250px;
border-top: 1px solid grey;
justify-content: center;
}
.flex-container .on-sale {
font-size: 0.8rem;
color: white;
background: black;
height: 67px;
width: 67px;
justify-content: center;
align-items: center;
text-align: center;
display: inline-flex;
}