При hover меняется высота блока. Как сделать, что-бы он не “отталкивал” нижние блоки?

260
03 января 2019, 00:40

Никак не могу подобрать правильное решение. Есть карточки с товарами, идут рядами на флексах. При наведении на них курсором в карточку добавляется информация и блок увеличивается по высоте. И когда это происходит он отталкивает нижние блоки, чего быть не должно. Как победить в данной ситуации?

Тыкался через absolute, но всё мимо..

Вот код для примера:

.wrapper { 
  border:1px solid black; 
  width: 200px; 
} 
 
ul { 
  display: flex; 
  flex-wrap:wrap; 
  list-style:none; 
} 
 
li { 
  margin-right:5px; 
  background-color:#efefef; 
  border:1px solid red; 
} 
 
li:hover { 
  height:40px; 
}
<div class="wrapper"> 
  <ul> 
    <li>Первый 
     
    </li> 
    <li>Второй</li> 
    <li>Третий</li> 
    <li>Четвёртый</li> 
    <li>Пятый</li> 
  </ul> 
</div>

Answer 1

Если понято верно, то как-то так:

.wrapper { 
  width: 400px; 
  border: 1px solid black; 
} 
 
ul { 
  display: flex; 
  flex-wrap: wrap; 
  list-style: none; 
} 
 
li { 
  position: relative; 
  margin: 5px; 
  min-width: 80px; 
  min-height: 1em; 
  border: 1px solid red; 
  background-color: #efefef; 
} 
 
li>div { 
  position: absolute; 
  left: 50%; 
  top: 1.2em; 
  transform: translateX(-50%); 
  margin: 0; 
  padding: 10px; 
  text-align: center; 
  border: 1px dotted blue; 
  background-color: #efefef; 
  opacity: 0; 
  transition: opacity .3s ease; 
} 
 
li:hover>div { 
  z-index: 1000; 
  opacity: 1; 
  transition: opacity .3s ease; 
}
<div class="wrapper"> 
  <ul> 
    <li>Первый 
      <div>1Lorem ipsum dolor sit amet consectetur adipisicing elit. Soluta, libero! </div> 
      <p>Контент</p> 
    </li> 
    <li>Второй 
      <div>2 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sit, laborum! </div> 
      <p>Контент</p> 
    </li> 
    <li>Третий 
      <div>3Lorem ipsum dolor sit amet, consectetur adipisicing elit. Enim, pariatur. </div> 
      <p>Контент</p> 
    </li> 
    <li>Четвёртый 
      <div>4Lorem ipsum dolor sit amet consectetur adipisicing elit. Repellat, nam. </div> 
      <p>Контент</p> 
    </li> 
    <li>Пятый 
      <div>5Lorem ipsum dolor sit amet consectetur adipisicing elit. Ea, voluptate?</div> 
      <p>Контент</p> 
    </li> 
  </ul> 
</div>

READ ALSO
Помогите доработать кода на JS,Image map SVG адаптив

Помогите доработать кода на JS,Image map SVG адаптив

Я решаю проблему с изменением положением точек,когда картинка меняет свои размеры ,чтобы она была адаптивнойв примере только 1 элемент ареа(уже...

308
Chrome: сохранение правок в HTML для чужих сайтов

Chrome: сохранение правок в HTML для чужих сайтов

Есть ли на Chrome какое-нибудь расширение, способное запомнить те изменения, которые я через devTools внесуА потом при рендере сайта, подменять указанные...

214
Jquery, поиск по колонки таблицы

Jquery, поиск по колонки таблицы

У меня есть таблица с тремя колонками

237
Из двух скриптов сделать один

Из двух скриптов сделать один

Необходимо из двух скриптов сделать одинНужно чтобы когда выбиралось connectid=7 и presentId=1 то появляющее окно inbound_from, а если выбиралось connectid=7 и presentId=2...

245