弹出图像查看器在大于屏幕分辨率时不会调整图像大小

时间:2017-08-01 23:03:47

标签: javascript html popup

我正在使用Bootstrap,我使用了Gallery Image的模板。

网站演示效果很好,因为图像是水平的:

enter image description here

但是当我编辑代码并放置我的图片(垂直)时,我认为它试图水平填充它们,因此图像在100%时不可见。

Wrong

我如何解决这个问题,这是我认为的代码(我是新手,所以我不确定):

<script>
                popup = {
                    init: function(){
                        $('figure').click(function(){
                            popup.open($(this));
                        });

                        $(document).on('click', '.popup img', function(){
                            return false;
                        }).on('click', '.popup', function(){
                            popup.close();
                        })
                    },
                    open: function($figure) {
                        $('.gallery').addClass('pop');
                        $popup = $('<div class="popup" />').appendTo($('body'));
                        $fig = $figure.clone().appendTo($('.popup'));
                        $bg = $('<div class="bg" />').appendTo($('.popup'));
                        $close = $('<div class="close"><svg><use xlink:href="#close"></use></svg></div>').appendTo($fig);
                        $shadow = $('<div class="shadow" />').appendTo($fig);
                        src = $('img', $fig).attr('src');
                        $shadow.css({backgroundImage: 'url(' + src + ')'});
                        $bg.css({backgroundImage: 'url(' + src + ')'});
                        setTimeout(function(){
                            $('.popup').addClass('pop');
                        }, 10);
                    },
                    close: function(){
                        $('.gallery, .popup').removeClass('pop');
                        setTimeout(function(){
                            $('.popup').remove()
                        }, 100);
                    }
                }

                popup.init()

            </script>

1 个答案:

答案 0 :(得分:0)

此演示中的图像大小是通过CSS规则完全指定的,因此您可以添加 约束图像最大高度的max-height规则。

您可以将.popup figure img的规则修改为以下规则集:

.popup figure img {
  position: relative;
  z-index: 2;
  border-radius: 15px;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2), 0 6px 30px rgba(0, 0, 0, 0.4);
  max-height: calc(100vh - 50px);
}