私は自分のコンテンツを垂直に揃えるのに苦労してきましたが、実際には修正していません。私はadaptiveHeightパラメーターを試しましたが、実際には私が望んでいたことをしませんでした。
フィドル: http://jsfiddle.net/fmo50w7n/4
コードはHTMLのようになります。
<section class="slider">
<div style="width:500px;height:200px">slide1</div>
<div style="width:500px;height:300px;">slide2</div>
<div style="width:500px;height:100px;">slide3</div>
</section>
CSS:
$c1: #3a8999;
$c2: #e84a69;
.slider {
width: auto;
margin: 30px 50px 50px;
}
.slick-slide {
background: $c1;
color: white;
padding: 40px 0;
font-size: 30px;
font-family: "Arial", "Helvetica";
text-align: center;
}
.slick-prev:before,
.slick-next:before {
color: black;
}
.slick-dots {
bottom: -30px;
}
.slick-slide:nth-child(odd) {
background: $c2;
}
JS:
$(".slider").slick({
autoplay: true,
dots: true,
variableWidth:true,
responsive: [{
breakpoint: 500,
settings: {
dots: false,
arrows: false,
infinite: false,
slidesToShow: 2,
slidesToScroll: 2
}
}]
});
この解決策は私のために働きます:
.slick-track {
display: flex;
}
.slick-track .slick-slide {
display: flex;
height: auto;
align-items: center;
justify-content: center;
}
ここの例を参照してください:
テキスト、コンテンツを段落または見出しに配置する必要があると思います。これにより、div全体ではなく、特定のコンテンツのみと通信できるようになります。
次に、CSSでこれを行います。
p {
margin: auto;
position: absolute;
top: 50%; left: 50%;
-webkit-transform: translate(-50%,-50%);
-ms-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
幅も指定する必要があるかもしれません。
これは、段落が生成される場所の原点を左上隅からではなく、transform:translateを使用して要素の中心から変更することです。次に、絶対配置と上下のパーセンテージを50%で使用して、親要素の中央に揃えます。
私もまだ一人で学んでいるので、頑張ってあなたを助けるために最善を尽くしています。 :)
ソース: https://css-tricks.com/centering-percentage-widthheight-elements/