我正在尝试将光滑的轮播(http://kenwheeler.github.io/slick/)在列中垂直居中。因此,我在列(光滑滑块的容器)上使用了display: flex; align-items: center;,但它破坏了滑块。

因此,我尝试使用绝对位置或使用flexbox将旋转木马居中,但它们都破坏了光滑的滑块。

我希望有人为这个问题得到一个css / js / jquery解决方案:)

这是问题的小提琴:https://jsfiddle.net/victor_allegret/g3dsd78w/

(对不起,我在将代码添加到堆栈溢出代码段时遇到问题)

HTML:

<div class='flex-container'>

 <div class='single-item'>

  <div><h3>1</h3></div>
  <div><h3>2</h3></div>
  <div><h3>3</h3></div>
  <div><h3>4</h3></div>
  <div><h3>5</h3></div>
  <div><h3>6</h3></div>

 </div>

</div>

CSS:
.flex-container {
 /* Using flexbox */
 display: flex;
 align-items: center;
 /*----*/
 margin: 0 auto;
 padding: 40px;
 height: 500px;
 width: 80%;
 color: #333;
 background: #419be0;
}

.slick-slide {
 text-align: center;
 color: #419be0;
 background: white;
}

JS:
$(".single-item").slick({
 dots: true
});

最佳答案

像这样 ? With absolute position.

.abs-container {
  position:absolute;

  height:140px;
  width:300px;
  top:50%;
  left:50%;
  margin:-70px 0 0 -150px;

  color: #333;
  background: #419be0;
}

And this with FlexBox.
.flex-container {
    position:absolute;
    top:0px;
    bottom:0px;
    width:100%;
    height:100%;

  /* Using flexbox */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-content: stretch;
    align-items: center;
  /*----*/

  color: #333;
  background: #419be0;
}
.flex-child {
    width: 300px;
    order: 0;
    flex: 0 1 auto;
    align-self: center;
}

HTML
<div class='flex-container'>
    <div class='flex-child'>
      <div class='single-item'>
      .
      .
      .

关于javascript - 光滑的滑块在伸缩容器中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45962822/

10-13 01:44