YUI: как создать диалог с фиксированным центром, который занимает все доступное вертикальное пространство - PullRequest
0 голосов
/ 21 сентября 2011

С помощью YUI я создаю диалоговое окно fixedcenter с определенной шириной:

var myDialog = new YAHOO.widget.Dialog("my-dialog", { 
    width : "300px", fixedcenter: true });

Содержимое диалогового окна динамическое и может быть достаточно большим, чтобы высота диалогового окна становиласьбольше, чем высота области просмотра.Например, см. этот пример (чтобы увидеть / изменить источник, нажмите на «+» в правом верхнем углу).Уменьшите окно браузера перед загрузкой этого примера, и вы увидите, что не можете получить доступ к остальному содержимому в диалоговом окне.

Truncated dialog

Вместо того, чтобы требовать от пользователей прокруткивнизу на главной странице, чтобы увидеть остальную часть содержимого, я бы хотел, чтобы тело диалогового окна занимало всю высоту области просмотра, а когда этого недостаточно, я хотел бы иметь полосу прокрутки внутри тела.Это эквивалентно наличию что-то вроде .bd { min-height: viewport-height; overflow: scroll }, где viewport-height - высота области просмотра, возможно, минус то, что необходимо для заголовка.

Установка этого min-height может быть выполнена в JavaScript с работающим кодомкогда отображается диалоговое окно и когда размер окна изменяется, но есть ли лучший способ сделать это?

1 Ответ

0 голосов
/ 21 сентября 2011

... но есть ли лучший способ сделать это?

Нет - не с CSS.

...