我仅使用CSS制作了这个图像滑块,附上代码供您参考。然而,滑块的图像本身拉伸得太长,并且在 Safari 上向右溢出。我在 Stack Overflow 上阅读了其他答案,但是没有一个解决方案可以解决问题。
如果您想亲眼目睹问题,这里是该网站的链接。 https://www.carrelinarctic.com/
期待您的帮助。
感谢您的宝贵时间。
#Slider-Wrapper
{
position: relative;
max-width: 64rem;
margin: 0 auto;
}
#Slider
{
display: flex;
aspect-ratio: 2405.2/1570.2;
overflow-x: hidden;
scroll-behavior: smooth;
scroll-snap-type: x mandatory;
box-shadow: 0 1.5rem 3rem -0.75 re, hsla(0, 0%, 0%, 0.25);
border: 0.5rem;
}
#Slider img
{
flex: 1 0 100%;
scroll-snap-align: start;
}
#Slider-Nav
{
display: flex;
column-gap: 1rem;
position: absolute;
bottom: 1.25rem;
left: 50%;
transform: translateX(-50%);
z-index: 1;
}
#Slider-Nav a
{
width: 0.5rem;
height: 0.5rem;
border-radius: 50%;
background-color: #fff;
opacity: 0.75;
transition: opacity ease 250ms;
}
#Slider-Nav a:hover
{
opacity: 1;
}
<div id="Slider-Wrapper">
<div id="Slider">
<img src="img/HomePage.webp" alt="" id="slide1">
<img src="img/InsertPage.webp" alt="" id="slide2">
<img src="img/LayoutPage.webp" alt="" id="slide3">
</div>
<div id="Slider-Nav">
<a href="#slide1"></a>
<a href="#slide2"></a>
<a href="#slide3"></a>
</div>
</div>
您需要指定图像的宽度:
#Slider img {
...
width: 100%;
}