2013-08-22 5 views
0

Я пытаюсь создать div, похожий на командную строку MS Windows.Создание div, прокручиваемого внутри контейнера с изменяемым размером div

Div может быть изменен по размеру и имеет двух детей: div-div и div div.

Я хочу, чтобы контент div получал полосы прокрутки, когда он больше, чем оконный div. Я хочу, чтобы строка заголовка всегда была видимой, а не прокруткой, и чтобы она не была на вершине полос прокрутки.

enter image description here

http://www.webdevout.net/test?0vL интерактивно демонстрирует мою проблему. Нажмите на текст содержания и добавьте новые строки. Когда для строк прокрутки добавлено достаточно строк, они не видят.

Содержимое div имеет overflow:auto set.

Установка max-height или height на содержание в 100% не работает, потому что 100% не учитывает высоту линии заголовка, так что полосы прокрутки появляются после того, как некоторые строки ушли на дно. Кроме того, полосы прокрутки, когда они появляются, затенить перетаскиваемую большой палец на внешней DIV, останавливая его быть изменяемого размера :(

ответ

1

overflow CSS Просто измените изменяемое окно на ребенок «содержание» <div>. таким образом вы изменяете размер ребенка <div>, а родительский <div> автоматически изменяет размер, чтобы сохранить его содержимое.

Кроме того, не уверен, было ли это намеренно, но у вас есть <div id ="Content" class="Content"> в вашем html и .Frame>.Contents { в вашем CSS (обратите внимание, что содержание слова имеет значение 's' в CSS).

Я считаю, что это то, что вы ищете:

http://www.webdevout.net/test?0wE

1

Добавьте следующий CSS:

.Content { 
    overflow: auto; 
    height: inherit; 
} 

Здесь вы идете: http://www.webdevout.net/test?0v-

Приветствия;)

+0

Я добавил описание того, почему это не работает на вопрос. Полосы прокрутки появляются после того, как содержимое больше, чем контейнер, а не оставшееся пространство :(Кроме того, он останавливает его изменение размеров :( – Will

+0

Вы проверили мою ссылку? Это отлично работает для меня. Не могли бы вы рассказать, t работать так, как вы хотите, или предоставить ссылку, где мы можем увидеть проблему? Спасибо! – Community

+0

Хотите, чтобы полоса прокрутки появлялась в любое время? Если да, используйте вместо этого «overflow-x: visible;». – Community

0

Я предполагаю, что ваш HTML дерево выглядит следующим образом:

  • Диалог
    • Строка заголовка
    • Content

Для содержимого прокручивать используйте свойство

.content { 
    overflow: auto; 
    height: inherit; 
} 
+1

Предлагаемый CSS не работает над его примером. Это связано с тем, что его контейнер .Content div не изменяется, поэтому свиток не запускается. Высота дива бесконечно бесконечна и скрыта. Поэтому мы должны убедиться, что сначала ограничим высоту div, см. Мой ответ;) – Community

+0

@usernotfound я вижу. Когда я отправил этот ответ, не было информации об изменении размера. Я использовал ваш пример, чтобы исправить этот ответ. – Broxzier

Смежные вопросы