Мы работаем над веб-приложением с Cordova, используя HTML и CSS на страницах.
Для выпадающих списков мы используем элементы ul.
Теперь у нас есть следующая проблема.
Когда страница выше экрана и мы делаем вертикальную прокрутку, чтобы один из выпадающих списков был в отображаемом конце видимой области и мы открываем список, список отображается не в видимой области, а вертикально под элементом ul .
Вот пример такого элемента ul на одной из наших страниц:
<div class = "CellOuter"
style = "top: 650px; left: 115px;">
<div class = "CellInner TopLeft"
style = "height: 20px; width: 45px; ">
<ul id = "10001"
name = "myDropDown"
class = "DropDownMenu TopLeft"
style = "font-size: 10px; max-height: 20px; width: 45px;"
required = ""
tabindex = "24">
<div class = "Selection">
</div>
<li class = "DropDownItem" value = "0" sortorder = "0" style = "display: none;"></li>
<li class = "DropDownItem" value = "1001" sortorder = "1" inilang = "false" textkey = "DropDownList_1" style = "display: none;">yes</li>
<li class = "DropDownItem" value = "1002" sortorder = "2" inilang = "false" textkey = "DropDownList_2" style = "display: none;">no</li>
</ul>
</div>
</div>
Есть ли возможность с помощью CSS изменить элементы ul таким образом, чтобы элементы списка всегда отображались в видимой области при открытии списка?
Заранее спасибо!
Патрик
пожалуйста, создайте фрагмент кода вашего кода. Спасибо
Я добавил пример. Надеюсь, поможет.
Я не знаю, что вы хотите, но если вам нужно установить ширину или высоту на экране с помощью CSS, вы можете попробовать height: 100vhor width: 80vh.
Проблема в том, что когда th ul находится в конце видимой области и список открыт, элементы отображаются внизу в невидимой области. Просто когда мы прокручиваем вниз, мы видим открытый список.
я не могу проверить вашу проблему, но, пожалуйста, попробуйте закрыть <div class = "Selection"> перед </div> </ul>
Нет, с помощью одного лишь CSS это сделать невозможно. Можно было бы добавить JavaScript, который проверяет, где в данный момент находится элемент, ближе ли он к верху или к низу окна браузера, а потом как-то на это реагирует… Вопрос в том, в какую сторону — если автоматически прокручивать документ дальше вниз, то вы потеряете положение мыши, и если выпадающий список был открыт только при наведении, он может снова рухнуть ... Другой альтернативой может быть открытие выпадающих элементов над элементом триггера в таком случае, а не под ним.
Спасибо 04FS за подсказку. Я попробую это.






пожалуйста, покажи нам свой код