HTML-макет CSS. Фиксированная общая ширина, 3 столбца, динамический средний столбец - PullRequest
2 голосов
/ 19 августа 2010

Возможно ли это вообще?
Иногда левого меню там нет, поэтому я хочу, чтобы средний столбец тоже занимал это место. Иногда правильное меню отсутствует, поэтому середина также должна занимать свое место.
Все должно быть упаковано в контейнер с фиксированной шириной (1000 пикселей).

Ответы [ 4 ]

2 голосов
/ 19 августа 2010

У ALA есть старый, но блестящий ответ, который, я думаю, мог бы решить практически любой подобный вопрос: http://www.alistapart.com/articles/holygrail/

Конечно, проблема в деталях: вы хотите, чтобы размер содержимого в среднем столбце изменялся на основедоступное пространство, или всплывают рядом, чтобы занять дополнительное пространство.В дополнение к этой сложности могут быть элементы, которые нельзя растянуть (изображения и т. Д.), Некоторые из которых имеют ширину min- и max- (абзацы текста имеют определенный оптимальный диапазон ширины для удобства чтения).Как я уже сказал, дьяволы в деталях - деталях, которыми, кажется, обладают только вы в это время.С этим большим количеством информации это все, что мы могли бы предоставить.

0 голосов
/ 19 августа 2010

Я предполагаю, что вы можете предсказать на стороне сервера, появится ли меню или нет, так что вы можете просто вставить фиксированную ширину в шаблон, что избавит вас от любых CSS-хаков.

0 голосов
/ 19 августа 2010

Возможно, вы захотите посмотреть, как сделать столбцы равной высоты.

Также на этом сайте автор предоставляет « Идеальная 3-колоночная жидкостная схема

0 голосов
/ 19 августа 2010

Это можно сделать с помощью ahem макетов на основе таблиц. Используя float, я считаю, что вам нужно использовать какую-то логику, чтобы установить ширину среднего столбца. Скорее всего, это можно сделать в одной строке jQuery (проверить, если левый столбец присутствует или пуст, сбросить ширину среднего столбца), если вы не хотите делать это в бэкэнде.

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