FancyBox install files:
Gallery Slider Vertical
FancyBox
PHP
<section class="gallery_vertical">
<div class="wrapper">
<div class="row_f">
<div class="col_9 || col_xs_12">
<div class="gallery_slider_v hidden_slider" data-slider="gallery_slider_v">
<?php for ($i = 1; $i < 15; $i++) :?>
<div>
<a href="/img/gallery_img_<?= $i?>.jpg" data-fancybox="images" data-width="2000" data-caption="Fish Art Restaurant" class="img_wrap">
<img src="/img/gallery_img_<?= $i?>.jpg" alt="Fish Art Restaurant">
</a>
</div>
<?php endfor;?>
</div>
</div>
<div class="col_3 || col_xs_12">
<div class="gallery_slider_vnav hidden_slider" data-slider="gallery_slider_vnav">
<?php for ($i = 1; $i < 15; $i++) :?>
<div>
<div class="img_wrap">
<img src="/img/gallery_img_<?= $i?>.jpg" alt="Fish Art Restaurant">
</div>
</div>
<?php endfor;?>
</div>
</div>
</div>
</div>
</section>
CSS
.gallery_slider_v.hidden_slider{opacity:0;overflow:hidden;max-height:58rem}
.gallery_slider_v .img_wrap{display:block;overflow:hidden;position:relative;padding-top:67%;margin:.9rem 0 .8rem}
.gallery_slider_v .img_wrap img{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;\A "}
.gallery_slider_vnav.hidden_slider{opacity:0;overflow:hidden;max-height:58rem}
.gallery_slider_vnav .img_wrap{display:block;overflow:hidden;position:relative;padding-top:67%;margin:.95rem 0;cursor:pointer}
.gallery_slider_vnav .img_wrap img{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;font-family:"object-fit: contain;\A "}
@media only screen and (max-width: 640px) {
.gallery_slider_vnav .img_wrap{margin:0 .5rem}
.gallery_slider_v .img_wrap{margin:.9rem .4rem .5rem .5rem}
.gallery_slider_v.hidden_slider {max-height: 41rem;}
.gallery_slider_vnav.hidden_slider{max-height:8rem}
}
SCSS
.gallery_slider_v {
&.hidden_slider {
opacity: 0;
overflow: hidden;
max-height: 58rem;
}
.img_wrap {
display: block;
overflow: hidden;
position: relative;
padding-top: 67%;
margin: 0.9rem 0 .8rem;
img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: block;
width: 100%;
height: 100%;
object-fit: contain;
font-family: "object-fit: contain;";
}
}
}
.gallery_slider_vnav {
&.hidden_slider {
opacity: 0;
overflow: hidden;
max-height: 58rem;
}
.img_wrap {
display: block;
overflow: hidden;
position: relative;
padding-top: 67%;
margin: 0.95rem 0 .95rem;
cursor: pointer;
img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
display: block;
width: 100%;
height: 100%;
object-fit: contain;
font-family: "object-fit: contain;";
}
}
}
@media only screen and (max-width:640px) {
.gallery_slider_vnav .img_wrap {margin: 0 .5rem;}
.gallery_slider_v .img_wrap {margin: 0.9rem 0.4rem .5rem .5rem;}
.gallery_slider_v.hidden_slider {max-height: 41rem;}
.gallery_slider_vnav.hidden_slider {max-height: 8rem;}
}
JavaScript
$('.gallery_slider_v').slick({
slidesToShow: 1,
slidesToScroll: 1,
arrows: false,
dots: false,
fade: true,
draggable: false,
asNavFor: '.gallery_slider_vnav'
});
$('.gallery_slider_vnav').slick({
slidesToShow: 3,
slidesToScroll: 1,
dots: false,
arrows: false,
draggable: true,
vertical: true,
verticalSwiping: true,
focusOnSelect: true,
centerMode: false,
asNavFor: '.gallery_slider_v',
responsive: [
{
breakpoint: 641,
settings: {
slidesToShow: 4,
slidesToScroll: 1,
vertical: false,
verticalSwiping: false
}
}
]
});