javascript - 光滑 slider 中心模式

标签 javascript jquery carousel slick.js

我一直在尝试创建类似 this 的东西使用 slick.js,我真的无法理解它。

我已经准备好了当前的代码。如何使中心幻灯片图像的宽度和高度为 100% 并为幻灯片添加填充?好像不行。

我真的很感激任何帮助。谢谢。

$('.slider').slick({
  centerMode: true,
  centerPadding: '30px',
  slidesToShow: 3,
  adaptiveHeight: false
});
.slick-slide img {
  max-width: 100%; 
  transition: transform 0.5s; 
 }

.slick-slide.slick-center img{
  transform: scale(2.1);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>


<div class="slider">
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
</div>

最佳答案

一点点 CSS 应该可以帮助你:

$('.slider').slick({
  centerMode: true,
  centerPadding: '30px',
  slidesToShow: 3
});
.slick-slide > div {
  transform: scale(.5);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.slick-center > div {
  transform: scale(1);
}
.slider__item > img {
  width: 100%;
  height: auto;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>


<div class="slider">
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
  <div class="slider__item">
    <img src="https://pp.userapi.com/c849132/v849132998/45c5c/RSTineyyvfE.jpg" alt="">
  </div>
</div>

原理很简单:使用 transform:scale(n) 缩小所有幻灯片(其中 n 是您想要的因子 - .5 在上面的例子中)。在居中的那个(具有 .slide-center 类)上使用 transform:scale(1) 以真实比例 (1:1) 渲染它。
并在 transform 上添加一个 transition

完成。

关于javascript - 光滑 slider 中心模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51750084/

相关文章:

javascript - 使 droppables 只接受某些draggables?

javascript - 平滑滚动到 div 内的内部链接表现异常;可能是 CSS 大小/间距问题

javascript - Bootstrap Carousel 过渡仅悬停

变量的javascript递增名称

javascript - React 处理组件间的交互状态

javascript - jQuery如何更新表中的行数范围

html - 将 Bootstrap 轮播图像定位在轮播中心

javascript - Promise.all 未按预期工作 - Firebase

javascript - 缓冲代码和非缓冲代码有什么区别?

android - 如何根据通知中点击的图像导航到不同的 URL?