Как сложить дивы кирпичиком?

программирование php html css верстка

Здравствуйте!

Никак не могу придумать правильный запрос в гугл по этому вопросу, поэтому..

идея такая:
1) Формируется неопределенное количество дивов один под другим, все они шириной, скажем 600 пикселей.
2) Среди них есть "широкие", которые всегда по 600 пикселей.
3) А некоторые могут быть "узкими" - по 300 пикелей в зависимости от их "соседей" сверху и снизу.

Возможные условия:
1) последовательность ["широкий", "узкий", "широкий"]. Все три шириной по 600, друг под другом.

2) ["широкий", "узкий", "узкий", "широкий"]. Верхний див 600 пикселей, потом два дива по 300, затем опять 600. При этом оба "узких" дива расположены рядом друг с другом. Как бы в одну строку.

3) ["широкий", "узкий", "узкий", "узкий", "широкий"]. Два из "узких" рядом друг с другом по 300, а оставшийся один - 600.

4) и т.д.

Первая мысль - проверять следующий и предыдущий типы дивов в цикле и делать таблицы. Но это, кажется, не самый удобный вариант, и наверное есть лучшее решение.

Пробовал float'ом - не очень, так, как получается какое-то нагромождение - все они стараются друг друга "обтечь".

Страница формируется на сервере, короче php.

Так я собственно к тому, что может есть готовое решение или аналогичное, может, кто знает.

Примечание:
Зачем: делаю кастомную форму. Среди полей есть textarea - они на всю ширину, а есть text'ы, number'ы, чекбоксы - их можно рядом составить.
inline-block: спасибо, то что надо.
Ответы:
во-первых, зачем это вам?
во-вторых, есть замечательное свойство display:inline-block; Просто делаете 600,300,600,300,600... они сами лягут как надо


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.