slick.js 图片滑块使图片垂直居中
slick.js Image slider center images vertically
我有一个非常基本的 slick.js 图像滑块。我设法将包装内的图像水平居中,但我不能垂直居中。它适用于桌面视图,但当我在移动视图上尝试时,站立图片完美地保持在中心,但躺着的图片留在页面顶部。我想让躺着的图片垂直到中间
我的代码:
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Gallery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" href="./css/slick.css" />
<link rel="stylesheet" href="./css/galleryStyle.css" />
</head>
<body>
<div class="banner-slider-wrapper">
<div class="banner-slider">
<div><img src="./img/20200704-DSC03331.jpg" alt="" /></div>
<div><img src="./img/20200704-DSC03906.jpg" alt="" /></div>
<div><img src="./img/zsofiéspisti_kreativ-09715.jpg" alt="" /></div>
</div>
<script src="./js/slick.js"></script>
</div>
<script>
$('.banner-slider').slick({
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 2000,
infinite: true,
//tosolve
arrows: false,
});
</script>
</body>
</html>
galleryStyle.css:
body {
padding: 0;
margin: 0;
height: 100%;
}
* {
box-sizing: border-box;
}
img {
max-width: 70%;
display: inline-block;
margin-left: auto;
margin-right: auto;
vertical-align: middle;
top: 50%;
}
.banner-slider {
top: 50%;
vertical-align: middle;
}
.banner-slider .slick-prev {
position: absolute;
left: 30px;
top: 100%;
}
.banner-slider .slick-next {
position: absolute;
right: 30px;
top: 100%;
}
.banner-slider-wrapper {
/* background-image: url('../img/gallery-background.jpeg'); */
background: white;
max-height: 1000px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin-top: 100px;
}
您可以使用 css flex
对齐滑块中的图像
$('.banner-slider').slick({
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 2000,
infinite: true,
arrows: false
});
body {
padding: 0;
margin: 0;
height: 100%;
}
* {
box-sizing: border-box;
}
img {
max-width: 70%;
display: inline-block;
margin-left: auto;
margin-right: auto;
vertical-align: middle;
top: 50%;
}
.banner-slider {
top: 50%;
vertical-align: middle;
}
.banner-slider .slick-prev {
position: absolute;
left: 30px;
top: 100%;
}
.banner-slider .slick-next {
position: absolute;
right: 30px;
top: 100%;
}
.banner-slider-wrapper {
/* background-image: url('../img/gallery-background.jpeg'); */
background: #cda;
max-height: 1000px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin-top: 10px;
}
.slick-slide:focus{
outline: none;
}
/*solution*/
.banner-slider .slick-track{
display: flex;
align-items: center;
}
<link href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" rel="stylesheet" />
<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>
<div class="banner-slider-wrapper">
<div class="banner-slider">
<div><img src="https://picsum.photos/200/350"></div>
<div><img src="https://picsum.photos/200"></div>
<div><img src="https://picsum.photos/300/100"></div>
</div>
</div>
我有一个非常基本的 slick.js 图像滑块。我设法将包装内的图像水平居中,但我不能垂直居中。它适用于桌面视图,但当我在移动视图上尝试时,站立图片完美地保持在中心,但躺着的图片留在页面顶部。我想让躺着的图片垂直到中间
我的代码:
index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Gallery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link rel="stylesheet" href="./css/slick.css" />
<link rel="stylesheet" href="./css/galleryStyle.css" />
</head>
<body>
<div class="banner-slider-wrapper">
<div class="banner-slider">
<div><img src="./img/20200704-DSC03331.jpg" alt="" /></div>
<div><img src="./img/20200704-DSC03906.jpg" alt="" /></div>
<div><img src="./img/zsofiéspisti_kreativ-09715.jpg" alt="" /></div>
</div>
<script src="./js/slick.js"></script>
</div>
<script>
$('.banner-slider').slick({
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 2000,
infinite: true,
//tosolve
arrows: false,
});
</script>
</body>
</html>
galleryStyle.css:
body {
padding: 0;
margin: 0;
height: 100%;
}
* {
box-sizing: border-box;
}
img {
max-width: 70%;
display: inline-block;
margin-left: auto;
margin-right: auto;
vertical-align: middle;
top: 50%;
}
.banner-slider {
top: 50%;
vertical-align: middle;
}
.banner-slider .slick-prev {
position: absolute;
left: 30px;
top: 100%;
}
.banner-slider .slick-next {
position: absolute;
right: 30px;
top: 100%;
}
.banner-slider-wrapper {
/* background-image: url('../img/gallery-background.jpeg'); */
background: white;
max-height: 1000px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin-top: 100px;
}
您可以使用 css flex
对齐滑块中的图像
$('.banner-slider').slick({
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 2000,
infinite: true,
arrows: false
});
body {
padding: 0;
margin: 0;
height: 100%;
}
* {
box-sizing: border-box;
}
img {
max-width: 70%;
display: inline-block;
margin-left: auto;
margin-right: auto;
vertical-align: middle;
top: 50%;
}
.banner-slider {
top: 50%;
vertical-align: middle;
}
.banner-slider .slick-prev {
position: absolute;
left: 30px;
top: 100%;
}
.banner-slider .slick-next {
position: absolute;
right: 30px;
top: 100%;
}
.banner-slider-wrapper {
/* background-image: url('../img/gallery-background.jpeg'); */
background: #cda;
max-height: 1000px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin-top: 10px;
}
.slick-slide:focus{
outline: none;
}
/*solution*/
.banner-slider .slick-track{
display: flex;
align-items: center;
}
<link href="//cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css" rel="stylesheet" />
<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>
<div class="banner-slider-wrapper">
<div class="banner-slider">
<div><img src="https://picsum.photos/200/350"></div>
<div><img src="https://picsum.photos/200"></div>
<div><img src="https://picsum.photos/300/100"></div>
</div>
</div>