Я хочу выполнить, казалось бы, простой макет div для основного приложения чата и уже много раз пробовал несколько вещей, но ни один из них не работал для этого макета.Простая компоновка CSS для приложения чата
Вот идея:
В то время как красные снизу ввод текста часть, а правый список пользователей часть должны быть закреплены в местах их расположений и фиксированного размера, часть центра синего содержания должна заполнить оставшуюся пространство.
Часть содержимого и часть списка пользователей должны прокручивать (зеленый) их содержимое по вертикали, если необходимо, но не должно быть полосы прокрутки для всего веб-сайта.
И важно: Весь сайт должен автоматически заполнить размер окна браузера.
В основном это сводится к тому, что столбики и строки «заполнять оставшееся пространство» и «фиксированный размер» смешиваются, что легко возможно в среде, в которой я обычно кодирую (XAML).
Использование функций, которые несовместимы со старыми браузерами или даже Javascript как (очень) последнее средство, было бы приемлемым. Но я не хочу использовать таблицы.
Редактировать: Вот мой текущий код. На данный момент я только пытался решить это для области контента и ввода. Это приводит к тому, что область ввода (правильно) всегда находится внизу, но область содержимого по-прежнему занимает всю высоту «позади» области ввода. (Установка переполнения и высоты на messageContainer вместо на outerContainer не поможет.)
<div id="outerContainer">
<div id="messageContainer">
<ul id="messageList"></ul>
</div>
<div id="inputContainer">
<input type="text" id="msg"/>
<button class="btn" id="broadcast">send</button>
</div>
</div>
и
body
{
padding: 0px;
margin: 0px;
overflow: hidden;
}
#outerContainer
{
text-align: center;
margin-left: 32px;
margin-right: 0px;
overflow:auto;
height: 100%;
}
#messageContainer
{
text-align: left;
margin-top: 32px;
margin-bottom: 72px;
}
#inputContainer
{
position:fixed;
bottom:0px;
margin-bottom: 32px;
margin-left: 0px;
margin-right: 32px;
width: 100%;
}
Любые идеи?
Спасибо! Andrej
Вы можете разместить свой CSS/HTML? – elclanrs
Я попытался сделать подобное с моими страницами и не смог найти заполнение остальных параметров страницы и 100% -150px, doest работать тоже. Мне нужно было написать класс (используя mootools) для достижения того, что я хотел (что похоже на панели delphi), где я могу добавлять divs и выравнивать затем верхний, нижний, левый, правый или клиентский. Проблема становится еще хуже, когда вы используете границы полей и paddings, поскольку ширина/высота, которые вы устанавливаете для div, тоже не та ширина/высота, которые они отображают в браузере. Вы бы подумали, что это будет легко, но это не так. – Dampsquid