У меня есть контейнер с display:flex;
Внутри этого контейнера у меня иногда будет 2 предмета, а иногда - 3 предмета. Я использую justify-content:space-between;
и хочу, чтобы 2 элемента были расположены таким образом. Когда есть 3-й элемент, я все еще хочу, чтобы эти 2 исходных элемента были space-between
, а затем я хочу, чтобы 3-й элемент вышел из гибкого потока. Для выполнения sh я использую position:absolute;
на 3-м пункте. В Chrome / Firefox / Safari это работает нормально, но в IE абсолютно позиционированный элемент принимает space-between
, поэтому позиционирование элемента 2-го элемента отключено (он размещается непосредственно в середине контейнера). Как я могу решить это? Я открыт для альтернативных решений, но я не могу изменить структуру HTML, поэтому это должно быть решение на основе CSS.
.flex {
display:flex;
justify-content:space-between;
width:250px;
border:1px solid black;
padding:5px;
margin:30px auto;
position:relative;
}
.flex.abs {
padding-left:40px;
}
.flex.abs div:first-child {
position:absolute;
left:-30px;
}
<div class="flex">
<div>Item 1</div>
<div>Item 2</div>
</div>
<div class="flex abs">
<div>Absolute</div>
<div>Item 1</div>
<div>Item 2</div>
</div>
Вот как это выглядит в Chrome (желательно):
И вот как это выглядит в IE: