2016-12-10 1 views
-1

Я почти закончил свой осветитель, видели здесь, на JSbin:Решая вопрос высоты IMG в пределах имеющегося лайтбокса кода

https://jsbin.com/pijoge/edit?html,output

и хотел бы помочь с одной небольшой проблемой. В принципе, любые портретные изображения * (см. Последнее изображение, например) * высота проходит мимо экрана или максимальной высоты окна. Я хочу реализовать что-то, что позволяет повысить гибкость и адаптироваться к экрану.

Я еще не сталкивался с проблемой с любыми ландшафтными изображениями, но в основном просто хочу, чтобы изображение постоянно вписывалось в экран.

+0

Добро пожаловать в StackOverflow. Я немного отредактировал это, но это все еще довольно многословно - можете ли вы отредактировать, чтобы быть как можно более кратким? Ваш «TL/DR» может не быть достаточно конкретным - продолжайте и объясните, что именно вы хотите. –

+0

Я одобрил редактирование, но я посмотрю, что я могу сделать, чтобы сократить его намного больше. – sampdesigns

ответ

0

Ну, вы только что добавили ширину: 100%; для всех ваших изображений в лайтбокс ... однако, основной экран компьютера - это пейзаж. Поэтому, конечно, портретное изображение будет переполнено.

Есть некоторые решения в CSS, однако, я думаю, вы должны использовать Javascript, чтобы справиться с этим.

Просто получите отношение к изображению, соотношение контейнеров в лайтбоксе (здесь это коэффициент просмотра) и примените соответственно css: если коэффициент img превосходит соотношение контейнеров: img width: 100%, img height: auto ;, иначе, наоборот!

Поместите этот код в функцию, и вызвать эту функцию каждый раз, когда вы показываете изображение в осветителя (так что, когда вы открываете его, и при смене изображения.)

Но в конечном счете, я бы порекомендовал вам использовать плагин lightbox, потому что ваш способ сделать это прямо сейчас не очень хорошо для меня (помещая все изображения непосредственно в лайтбокс), вы должны загружать их один за другим через Javascript.

+0

Ширина была установлена ​​временно на 100%. Я немного поиграл с ним, но вернул ему это, потому что я слишком много раз перепутал его. Я всегда был ошеломлен плагинами, находя пошаговые руководства JS и кодируя их вручную. Но я попытаюсь найти что-то плагин на основе, который прост. Мне не сообщили об этом в javascript, поэтому я не уверен, как написать эту функцию, но я могу попытаться ее изучить. – sampdesigns