2013-09-25 1 views
0

У меня есть следующая http://jsfiddle.net/4G33W/1/Задать максимальную высоту для отображения содержания жидкости ширины

Это жидкость, как она есть, и работает отлично, но когда другие элементы будут добавлены в список в #commentWrapper, он ломает макет как он толкает все «вниз».

Чтобы проверить копию еще <li>test</li> элементов, и вы увидите, что я имею в виду. Я хочу, чтобы окно ввода оставалось внизу (как и atm), и когда список становится достаточно длинным и достигает его, список должен перейти в режим переполнения x: авто. Я не могу использовать фиксированную высоту, так как она нарушит «текучесть» всего предмета, или, по крайней мере, мои попытки, похоже, не сработали.

Какое-нибудь решение css/html здесь? Должен ли я обратиться к javascript для решения? Я также использую jquery, на всякий случай, если в javascript есть ответ.

ответ

1

Это может быть сделано с чистым css в этом случае. Применяя эти правила к #commentWrapper элемент будет делать трюк:

#commentWrapper { 
    width: 17%; 
    height: 100%; 
    position: absolute; 
    top: 0; 
    right: 0; 
    box-sizing: border-box; 
    padding-bottom: 20px; 
    overflow-y: auto; 
} 

Работа jsfiddle здесь: http://jsfiddle.net/4G33W/2/

+1

Да, это действительно сработало, спасибо большое за помощь мне :) – Systemfreak

+0

Рад, что я мог помочь. Также @Willian Duarte сделал некоторые очень хорошие моменты. Я могу подтвердить, что это решение работает на IE8 + и всех других основных браузерах. (IE7 ниже версии имеют глобальное использование менее чем на 5% и устарели, поэтому я бы отказался от поддержки для них). – Bogdan

2

@Bogdan решение работает, потому что "высота: 100%;" работает, когда «позиция: абсолютная»; устанавливается. Остерегайтесь макета, который вам нужно собрать, и браузеры, которые вам нужны для поддержки.

И посмотрите на can i use на box-sizing поддержка.

+1

О, ладно, спасибо, что сообщили мне, что :) – Systemfreak

+0

+1 для объяснения возможных оговорок. – Bogdan