@ligisayan

Как спозиционировать блоки в зависимости от условий?

Всем привет! Есть блок в котором 4 span и картинка. 2 span с классами abs и картинка постоянные, а 2 span с классом rel могут как присутствовать, так и нет, причем расположение картинки не должно поменяться от этого (не должна смещаться!) и если нет блока rel-1 - rel-2 должен переместиться на его место. Как это можно сделать? вот фидл
<div>
  <span class="rel">rel-1</span>
  <span class="rel">rel-2</span>
  <img src="http://placehold.it/350x150">
  <span class="abs-1">abs-3</span>
  <span class="abs-2">abs-4</span>
</div>

div {
  position: relative;
  width: 350px;
  height: 150px;
}
img {
  margin-top:-50px;
}
.rel {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block;
  width: 50px;
  height: 50px;
  background-color: red;
}
.abs-1,
.abs-2 {
  display: inline-block;
  width: 50px;
  height: 50px;
  background-color: blue;
  position: absolute;
  top: 0;
}
.abs-1 {
  right: 0;
}
.abs-2 {
  right: 55px;
}

з.ы. в реальном примере таких блоков много и картинка подгружается динамически, поэтому ее нельзя накладывать на div + ее размеры (высота) может меняться и под ней расположены еще блоки
  • Вопрос задан
  • 151 просмотр
Решения вопроса 1
gr1mm3r
@gr1mm3r
50% ответа в правильном вопросе. Остальное мануал.
Если я все правильно понял то проще использовать
div {
  position:relative;
  width:350px;
  height:150px;
  background-image:url('http://placehold.it/350x150');
}

.rel 
...


чем отдельную картинку позиционировать. И убрать картинку из HTML
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы