Может быть стоит отменить любой стиль, который вы применили к нему, и посмотреть, поддерживается ли этот вид функциональности из коробки:
Использование опции barsSize
: https://photoswipe.com/documentation/options.html
Или событие parseVerticalMargin
: https://photoswipe.com/documentation/api.html
Мне удалось достичь зазора вверху и внизу изображения на PhotoSwipe демонстрационный сайт , выбрав All Controls
и добавив нижеприведенные стили, чтобы скрыть / отключить пользовательский интерфейс с помощью CSS:
.pswp__ui {
opacity: 0!important;
pointer-events: none;
}
Использование этого в сочетании с параметром barsSize
позволит вам чтобы определить, насколько велик разрыв между изображением и окном просмотра браузера, хотя вы, вероятно, не сможете использовать vh
как единицу, и вам нужно будет использовать что-то вроде Math.round(window.innerHeight*.1)
для расчета 10% высоты просмотра, или вместо этого используйте значение в пикселях.
Также стоит посмотреть Custom HTML в слайдах topi c в документации, так как вы можете добавить пробел div
до и после вашего изображения.
Только для CSS исправления:
* 1 033 * Если у вас нет доступа, чтобы изменить инициализацию PhotoSwipe, то CSS ниже делает анимацию менее резкой на вашем сайте, однако, она на мгновение делает изображение go на полную высоту на мгновение, прежде чем переход к
90vh
.
Удалить:
.pswp__scroll-wrap {
height: 90vh !important;
}
Добавить:
.pswp__scroll-wrap {
transition: transform 222ms cubic-bezier(.4,0,.22,1);
}
.pswp--animated-in .pswp__scroll-wrap {
transform: scale(.9);
}