Хорошо, вот что я в итоге и сделал: при загрузке я запускаю цикл jQuery .each () для каждого плавающего элемента (каждого '.rect'). Он обнаруживает первый элемент в каждой строке (используя .position ()) и добавляет класс «clear». Затем, когда размер окна изменяется, оно удаляет все «чистые» классы и снова выполняет цикл .each ().
Вроде так;
$('.rect').each(function() {
var este = $(this).position();
var sig = $(this).next().position();
if(este.left >= sig.left) {
$(this).next().addClass('clear');
}
});
$(window).resize(function () {
$('.rect').removeClass('clear');
$('.rect').each(function() {
var este = $(this).position();
var sig = $(this).next().position();
if(este.left >= sig.left) {
$(this).next().addClass('clear');
}
});
});
CSS:
.rect {
float: left;
}
.clear {
clear: left;
}
И это работает! Есть комментарии / предложения? Я думаю об упаковке этого в крошечный плагин. :)