@terabait

Как сделать чтобы все элементы в списке были одинаковой высоты?

Есть сетка товаров вида:
<div class="items-list">
   <ul>
       <li class="abc" id="tovar'>...</li>
       <li class="abc" id="tovar'>...</li>
       <li class="abc" id="tovar'>...</li>
       ....
   </ul>
</div>


Как сделать что бы высота блока товара была равна максимальной высоте одного из них?

Пробовал сделать как указано тут - Как установить html элементам одинаковую относительную высоту? (через css display:table, table-row, table-cell) - проблема не решилась.

Нашел в гугле JS решающей эту проблему:

$(document).ready(function(){
	var maxH = 0;
	$("li").each(function () {
		var h_block = parseInt($(this).height());
		if(h_block > maxH) {
			maxH = h_block;
		};
	});
	$("li").height(maxH);
});


Но при этом слетают все меню сайта.

Что нужно подправить в JS-коде, что бы он менял высоту только у карточек товара?
  • Вопрос задан
  • 4654 просмотра
Решения вопроса 1
@IceJOKER
Web/Android developer
Не понятно почему проблема не решилась с помощью display: table.
ul{
  display: table;
}
li{
  display: table-cell;
}


и все
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ElianL
javascript-разработчик
На счет JS, не думаю что разумно делать выборку $("li"), вы таким образом выбираете все li на странице, поэтому меню и ломается. В вашем случае надо использовать

$("li.abc").height(maxH);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы