【发布时间】:2019-12-25 08:53:48
【问题描述】:
我正在尝试创建一个带有 NAV 按钮的纯 CSS 自动动画滑块。如果单独使用滑块动画和导航效果很好,但是当我将它们组合在一起时,自动动画会超过导航系统,我无法使用导航按钮在幻灯片之间移动。我怎样才能阻止动画压倒导航,以便我可以在幻灯片之间移动,同时仍然保持自动滚动?这是我的代码
.slider {
width: 100%;
height: 300px;
overflow: hidden;
}
figure p {
position: absolute;
}
figure {
position: relative;
width: 400%;
margin: 0;
left: 0;
text-align: center;
transition: left 2s;
animation: 20s slidy infinite;
}
.slider figure .slide {
width: 25%;
float: left;
}
.slider figure img {
width: 100%;
height: 300px;
}
.button_container {
position: relative;
top: -30px;
text-align: center;
}
.slider_button {
display: inline-block;
height: 15px;
width: 15px;
border-radius: 50%;
background-color: black;
margin: 0px 15px;
}
#slide-1:target~.slide_container {
left: 0%;
}
#slide-2:target~.slide_container {
left: -100%;
}
#slide-3:target~.slide_container {
left: -200%;
}
#slide-4:target~.slide_container {
left: -300%;
}
@keyframes slidy {
0% {
left: 0%;
}
21% {
left: 0%;
}
25% {
left: -100%;
}
46% {
left: -100%;
}
50% {
left: -200%;
}
71% {
left: -200%;
}
75% {
left: -300%;
}
96% {
left: -300%;
}
100% {
left: 0%;
}
}
<div class="slider">
<span id="slide-1"></span>
<span id="slide-2"></span>
<span id="slide-3"></span>
<span id="slide-4"></span>
<figure class="slide_container">
<div class="slide">
<p>Test1</p>
<img src="https://via.placeholder.com/300?text=1" class="slider_image">
</div>
<div class="slide">
<p>Test2</p>
<img src="https://via.placeholder.com/300?text=2" class="slider_image">
</div>
<div class="slide">
<p>Test3</p>
<img src="https://via.placeholder.com/300?text=3" class="slider_image">
</div>
<div class="slide">
<p>Test4</p>
<img src="https://via.placeholder.com/300?text=4" class="slider_image">
</div>
</figure>
<div class="button_container">
<a href="#slide-1" class="slider_button"></a>
<a href="#slide-2" class="slider_button"></a>
<a href="#slide-3" class="slider_button"></a>
<a href="#slide-4" class="slider_button"></a>
</div>
</div>
【问题讨论】:
标签: html css slider css-animations