CSS «выборочная» очистка поплавков - PullRequest
2 голосов
/ 30 декабря 2011

У меня есть куча блоков, которые я плаваю слева. Они разной высоты; некоторые короткие, некоторые высокие.

Теперь эти блоки генерируются динамически, поэтому невозможно предсказать, какой будет высота каждого блока (или сколько их будет). Однако он должен быть гибким, поэтому, если эти блоки не умещаются в один ряд, мне нужен второй ряд.

Проблема: поскольку блоки имеют разную высоту, любой блок, который перетекает в следующий ряд, «укрывается» среди существующих поплавков: image

Мне нужны блоки-побочные эффекты, чтобы сформировать свой собственный ряд: image

Я знаю, что это правильное поведение (поплавки предпочитают более высокие позиции по сравнению с левыми), но каково лучшее решение для этого? Я могу изменить структуру HTML (и, очевидно, любой CSS), но я не могу жестко кодировать в clear: left.

Вот jsFiddle.

1 Ответ

7 голосов
/ 30 декабря 2011

Используйте display: inline-block на блоках;сохранить float для ситуаций, когда вам действительно нужно обернуть текст вокруг элемента.

Результаты: http://jsfiddle.net/EQyVy/18/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...