Когда вы оставляете плавающие элементы такими, как только они перестают помещаться на одной строке, следующий плавающий элемент будет опускаться только настолько, насколько это необходимо, до тех пор, пока он не уместится.
5-е изображение,например, «застревает» в нижней части вашего 3-го изображения вместо того, чтобы полностью перемещаться назад к левому краю, потому что 4-е изображение не такое высокое.
Для 10-го изображения этого не происходитПоскольку 9-е изображение выше, чем все остальные изображения, оставшиеся от него, поэтому, как только 10-е изображение опустится ниже края 9-го изображения, оно очищает весь ряд.
Вы увидите, чтоЯ имею в виду более четко, если вы замените поле отступом и добавите границу к .image-item
.
. Чтобы заставить первый элемент каждой строки перейти к началу следующей строки, вы не должны использовать float,оберните каждую строку из 4 предметов в содержащем div или используйте магические силы CSS3, чтобы очистить плавающие элементы в начале каждой строки:
.image-item:nth-child(4n+1) { clear:left }