Ответ 1
Вы не можете легко выбрать по высоте или сравнить в CSS, но jQuery и несколько итераций должны легко позаботиться об этой проблеме. Мы прокручиваем каждый элемент и отслеживаем самый высокий элемент, затем мы снова зацикливаемся и устанавливаем высоту каждого элемента самого высокого (работаем JSFiddle):
$(document).ready(function() {
var maxHeight = -1;
$('.features').each(function() {
maxHeight = maxHeight > $(this).height() ? maxHeight : $(this).height();
});
$('.features').each(function() {
$(this).height(maxHeight);
});
});
[Добавление]
Sheriffderek создал JSFiddle для этого решения в гибкой сетке. Спасибо!
[Версия 2]
Вот более чистая версия, использующая функциональное программирование:
$(document).ready(function() {
// Get an array of all element heights
var elementHeights = $('.features').map(function() {
return $(this).height();
}).get();
// Math.max takes a variable number of arguments
// `apply` is equivalent to passing each height as an argument
var maxHeight = Math.max.apply(null, elementHeights);
// Set each height to the max height
$('.features').height(maxHeight);
});
[Версия 3 - sans jQuery]
Здесь обновленная версия, которая не использует jQuery (работает JSFiddle):
var elements = document.getElementsByClassName('features');
var elementHeights = Array.prototype.map.call(elements, function(el) {
return el.clientHeight;
});
var maxHeight = Math.max.apply(null, elementHeights);
Array.prototype.forEach.call(elements, function(el) {
el.style.height = maxHeight + "px";
});