微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

活动幻灯片上的Slick.js边距

如何解决活动幻灯片上的Slick.js边距

我正在使用Slick幻灯片放映。我对活动幻灯片应用了比例尺2,但是当幻灯片的大小改变时,左右边距不会移动。我该如何解决

一个示例,其中我发现有效幻灯片上的页边空白:https://codepen.io/jinzagon/pen/KKzaQwz

我的代码https://codepen.io/jinzagon/pen/YzqpdLj

HTML

<section class="top_slider">
  <div>
    <a href="google.com"><img src="http://placehold.it/288x288?text=1"></a>
  </div>
  <div>
    <img src="http://placehold.it/288x288?text=2">
  </div>
  <div>
    <img src="http://placehold.it/288x288?text=3">
  </div>
  <div>
    <img src="http://placehold.it/288x288?text=4">
  </div>
  <div>
    <img src="http://placehold.it/288x288?text=1">
  </div>
</section>

CSS

.slider {
  background-color: white;
  margin: 100px auto;
  height: auto!important;
}

.slick-slide {
  margin: 0px 20px;
}

.slick-slide img {
  width: 80%;
  transition: all linear 0.4s;
}

.slick-center img {
  transform: scale(2);
  transition: all linear 0.4s;
}

JS

$(".top_slider").slick({
  dots: true,infinite: false,centerMode: true,slidesToShow: 3,slidesToScroll: 1,});

$('html').animate({
  scrollTop: $('.top_slider').offset().top
},500);

解决方法

我模仿了它,将所有幻灯片缩放为50%,将活动幻灯片缩放为100%。另外,将内部div添加到类.slide中,以便我们可以对其进行转换。这样,我们就不会干扰平滑的计算。

您可以根据需要使用比例值进行缩放。

$(".top_slider").slick({
  dots: true,infinite: false,centerMode: true,slidesToShow: 3,slidesToScroll: 1,});

$('html').animate({
  scrollTop: $('.top_slider').offset().top
},500);
.slider {
  background-color: white;
  margin: 100px auto;
  height: auto!important;
}

.slide {
  transform: scale(.5);
  transition: transform linear 0.15s;
}

.slick-center .slide {
  transform: scale(1);
}

.slick-list {
  overflow: visible;
}


/* This should be included in your reset/normalize file */

img {
  max-width: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" />

<section class="top_slider">
  <div>
    <div class="slide">
      <img src="http://placehold.it/288x288?text=1">
    </div>
  </div>
  <div>
    <div class="slide">
      <img src="http://placehold.it/288x288?text=2">
    </div>
  </div>
  <div>
    <div class="slide">
      <img src="http://placehold.it/288x288?text=3">
    </div>
  </div>
  <div>
    <div class="slide">
      <img src="http://placehold.it/288x288?text=4">
    </div>
  </div>
  <div>
    <div class="slide">
      <img src="http://placehold.it/288x288?text=5">
    </div>
  </div>
</section>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。