Теперь довольно безопасно использовать calc
в css, так что это то, что я делаю
$('#confirmDialog').modal(
{
dataCss:
{
'maxHeight': 'calc(100vh - 10em)', // spaces are needed
'overflow': 'auto'
}
});
Это говорит о том, что нужно оставить как минимум 10em (5em с каждой стороны) над и под диалоговым окном.К счастью, даже если вы измените размер окна, все это будет хорошо отрегулировано.
Я использую функцию calc
с 100vh - 10em
, что означает получение высоты области просмотра и вычитание 1em.Вы не можете использовать 100%
здесь, потому что это вложенный элемент.К сожалению, в iOS 100vh
имеется пространство, которое скрыто панелью значков Safari, поэтому мне пришлось вычесть сумму 10em, чтобы она всегда была видимой.
Примечание: я использую dataCss
, который добавляетАтрибуты стиля для содержимого, а не оболочки.Это означает, что если у вас есть граница, то она будет фиксированной, и содержимое будет красиво прокручиваться внутри нее.
Прочтите это для лучшего понимания vh
на iOS: https://github.com/scottjehl/Device-Bugs/issues/36