CSS 滑块未超过第五张幻灯片

CSS Slider Does Not Go Past The Fifth Slide

我使用的 CSS 滑块示例中只有五个单选按钮/幻灯片。

当我尝试添加更多幻灯片时,滑块没有滚动到新幻灯片。

我哪里错了?

我在 CSS 中添加了最多 15 张幻灯片实例,但目前只需要 10 张幻灯片。

我也想在滑块中添加一个滑块,我的代码会受到什么影响?我不确定如何处理它。

我的代码:

/* Common styles and resets */

.dotstyle label {
 position: relative;
 display: inline-block;
 margin: 0;
 padding: 0;
 list-style: none;
 cursor: default;
 -webkit-touch-callout: none;
 -webkit-user-select: none;
 -khtml-user-select: none;
 -moz-user-select: none;
 -ms-user-select: none;
 user-select: none;
}

.dotstyle label {
 position: relative;
 display: block;
 float: left;
 margin: 0 16px;
 width: 16px;
 height: 16px;
 cursor: pointer;
 opacity: 0.15;
}

.dotstyle label a {
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 outline: none;
 border-radius: 50%;
 background-color: #fff;
 background-color: rgba(255, 255, 255, 0.3);
 text-indent: -999em; /* make the text accessible to screen readers */
 cursor: pointer;
 position: absolute;
}

.dotstyle label a:focus {
 outline: none;
}

/* Tooltip */

.dotstyle-tooltip label {
 border: 2px solid #fff;
 border-radius: 50%;
 z-index: 1;
 -webkit-transition: border-color 0.3s ease;
 transition: border-color 0.3s ease;
}

.dotstyle-tooltip label a {
 top: auto;
 bottom: 250%;
 left: 50%;
 visibility: hidden;
 padding: 0 10px;
 width: auto;
 height: auto;
 border-radius: 0;
 background-color: #e19a28;
 color: #fff;
 text-indent: 0;
 line-height: 2;
 opacity: 0;
 -webkit-transform: translateX(-50%) translateY(-50%);
 transform: translateX(-50%) translateY(-50%);
 -webkit-transition: -webkit-transform 0.3s ease, opacity 0.3s ease, visibility 0s 0.3s ease;
 transition: transform 0.3s ease, opacity 0.3s ease, visibility 0s 0.3s ease;
}

.dotstyle-tooltip label a::after { /* http: //cssarrowplease.com/ */
 position: absolute;
 left: 50%;
 margin-left: -10px;
 width: 0;
 height: 0;
 border: solid transparent;
 border-width: 10px;
 border-color: transparent;
 border-top-color: #e19a28;
 content: '';
 pointer-events: none;
 top: 99%;
 -webkit-backface-visibility: hidden;
 backface-visibility: hidden;
 -webkit-transition: opacity 0.3s ease;
 transition: opacity 0.3s ease;
}

.no-touch .dotstyle-tooltip label:hover a,
.dotstyle-tooltip label.current a {
 z-index: 100;
 visibility: visible;
 opacity: 1;
 -webkit-transform: translateX(-50%) translateY(0%);
 transform: translateX(-50%) translateY(0%);
 -webkit-transition: -webkit-transform 0.3s ease, opacity 0.3s ease;
 transition: transform 0.3s ease, opacity 0.3s ease;
 opacity: 1 !important;
}

.dotstyle-tooltip label.current {
 border-color: #c44d48;
}

.dotstyle-tooltip label:hover {
 z-index: 100;
 opacity: 0.65 !important;
}

.no-touch .dotstyle-tooltip label:hover label.current a {
 opacity: 0.2;
}

.dotstyle-tooltip label.current:hover a {
 opacity: 1;
}

#slide1:checked ~ .dotstyle-tooltip label:nth-child(1), #slide2:checked ~ .dotstyle-tooltip label:nth-child(2), #slide3:checked ~ .dotstyle-tooltip label:nth-child(3), #slide4:checked ~ .dotstyle-tooltip label:nth-child(4), #slide5:checked ~ .dotstyle-tooltip label:nth-child(5), #slide6:checked ~ .dotstyle-tooltip label:nth-child(6), #slide7:checked ~ .dotstyle-tooltip label:nth-child(7), #slide8:checked ~ .dotstyle-tooltip label:nth-child(8), #slide9:checked ~ .dotstyle-tooltip label:nth-child(9), #slide10:checked ~ .dotstyle-tooltip label:nth-child(10),#slide11:checked ~ .dotstyle-tooltip label:nth-child(11), #slide12:checked ~ .dotstyle-tooltip label:nth-child(12), #slide13:checked ~ .dotstyle-tooltip label:nth-child(13), #slide14:checked ~ .dotstyle-tooltip label:nth-child(14), #slide15:checked ~ .dotstyle-tooltip label:nth-child(15) {
  border: 2px solid #000;
    border-radius: 50%;
    transition: border-color 0.3s ease 0s;
    z-index: 1;
}

article {
  display: block;
  overflow-y: hidden;
}

.container-slide {
  overflow-x: hidden;
  position: relative;
}

#slider {
 text-align: center;
 margin: 0 auto;
}

.catch {
 display: block;
 height: 0;
 overflow: hidden;
}

#description {
 margin: 25px auto;
 text-align: left;
 max-width: 650px;
 padding: 0 25px;
}

.respond {
 margin: 0 auto;
 max-width: 370px;
}

/* Slider Setup */

#slider>input {
 display: none;
}

#slide1:checked ~ #slides .inner { margin-left:0; }
#slide2:checked ~ #slides .inner { margin-left:-100%; }
#slide3:checked ~ #slides .inner { margin-left:-200%; }
#slide4:checked ~ #slides .inner { margin-left:-300%; }
#slide5:checked ~ #slides .inner { margin-left:-400%; }
#slide6:checked ~ #slides .inner { margin-left:-500%; }
#slide7:checked ~ #slides .inner { margin-left:-600%; }
#slide8:checked ~ #slides .inner { margin-left:-700%; }
#slide9:checked ~ #slides .inner { margin-left:-800%; }
#slide10:checked ~ #slides .inner { margin-left:-900%; }
#slide11:checked ~ #slides .inner { margin-left:-1000%; }
#slide12:checked ~ #slides .inner { margin-left:-1100%; }
#slide13:checked ~ #slides .inner { margin-left:-1200%; }
#slide14:checked ~ #slides .inner { margin-left:-1300%; }
#slide15:checked ~ #slides .inner { margin-left:-1400%; }


#overflow {
 width: 100%;
 overflow: hidden;
}

article img {
 width: 100%;
}

#slides .inner {
 width: 500%;
 line-height: 0;
}

#slides article {
 width: 20%;
 float: left;
}

/* slider Styling */

/* Control Setup */

#controls {
 margin: -25% 0 0 0;
 width: 100%;
 height: 50px;
}

#controls li { 
 display: none;
 width: 50px;
 height: 50px;
 opacity: 0.3;
}

#active {
 height: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 2%;
    text-align: center;
    width: 515px;
}

#active label {
 -webkit-border-radius: 15px;
 -moz-border-radius: 15px;
 border-radius: 15px;
 display: inline-block;
 width: 15px;
 height: 15px;
 background: #bbb;
}

#active label:hover {
 background: #ccc;
 border-color: #777 !important;
}

#controls label:hover {
 opacity: 0.8;
}

#slide1:checked ~ #controls li:nth-child(2), 
#slide2:checked ~ #controls li:nth-child(3), 
#slide3:checked ~ #controls li:nth-child(4), 
#slide4:checked ~ #controls li:nth-child(5),
#slide5:checked ~ #controls li:nth-child(6),
#slide6:checked ~ #controls li:nth-child(7),
#slide7:checked ~ #controls li:nth-child(8), 
#slide8:checked ~ #controls li:nth-child(9), 
#slide9:checked ~ #controls li:nth-child(10),
#slide10:checked ~ #controls li:nth-child(11),
#slide11:checked ~ #controls li:nth-child(12),
#slide12:checked ~ #controls li:nth-child(13), 
#slide13:checked ~ #controls li:nth-child(14), 
#slide14:checked ~ #controls li:nth-child(15), 
#slide15:checked ~ #controls li:nth-child(1) {
 background: url('next.png') no-repeat;
 float: right;
 margin: 0 -70px 0 0;
 display: block;
}


#slide1:checked ~ #controls li:nth-child(15),
#slide2:checked ~ #controls li:nth-child(1),
#slide3:checked ~ #controls li:nth-child(2),
#slide4:checked ~ #controls li:nth-child(3),
#slide5:checked ~ #controls li:nth-child(4),
#slide6:checked ~ #controls li:nth-child(5),
#slide7:checked ~ #controls li:nth-child(6),
#slide8:checked ~ #controls li:nth-child(7),
#slide9:checked ~ #controls li:nth-child(8),
#slide10:checked ~ #controls li:nth-child(9),
#slide11:checked ~ #controls li:nth-child(10),
#slide12:checked ~ #controls li:nth-child(11),
#slide13:checked ~ #controls li:nth-child(12),
#slide14:checked ~ #controls li:nth-child(13),
#slide15:checked ~ #controls li:nth-child(14) {
 background: url('prev.png') no-repeat;
 float: left;
 margin: 0 0 0 -70px;
 display: block;
}

#slide1:checked ~ #active label:nth-child(1),
#slide2:checked ~ #active label:nth-child(2),
#slide3:checked ~ #active label:nth-child(3),
#slide4:checked ~ #active label:nth-child(4),
#slide5:checked ~ #active label:nth-child(5),
#slide6:checked ~ #active label:nth-child(6),
#slide7:checked ~ #active label:nth-child(7),
#slide8:checked ~ #active label:nth-child(8),
#slide9:checked ~ #active label:nth-child(9),
#slide10:checked ~ #active label:nth-child(10),
#slide11:checked ~ #active label:nth-child(11),
#slide12:checked ~ #active label:nth-child(12),
#slide13:checked ~ #active label:nth-child(13),
#slide14:checked ~ #active label:nth-child(14)
#slide15:checked ~ #active label:nth-child(15) {
 background: none repeat scroll 0 0 #e19a28;
    border-color: #e19a28 !important;
    opacity: 1 !important;
}

/* Info Box */

.info {
 line-height: 20px;
 /*margin: 0 0 -150%;*/
 position: absolute;
 font-style: italic;
 padding: 30px 30px;
 opacity: 0;
 color: #000;
 text-align: left;
}

.info h3 {
 color: #333;
 margin: 0 0 5px;
 font-weight: normal;
 font-size: 22px;
 font-style: normal;
}

/* slider Styling */

#slides {
 height: 350px;
 padding: 1%;
 background: none repeat scroll 0 0 #353535;
}


/* Animation */

#slides .inner {
 -webkit-transform: translateZ(0);
 -webkit-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); 
 -moz-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); 
    -ms-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); 
     -o-transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); 
        transition: all 800ms cubic-bezier(0.770, 0.000, 0.175, 1.000); /* easeInOutQuart */

 -webkit-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); 
 -moz-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); 
    -ms-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); 
     -o-transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); 
        transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000); /* easeInOutQuart */
}

#slider {
 -webkit-transform: translateZ(0);
 -webkit-transition: all 0.5s ease-out;
 -moz-transition: all 0.5s ease-out;
 -o-transition: all 0.5s ease-out;
 transition: all 0.5s ease-out;
}

#controls li{
 -webkit-transform: translateZ(0);
 -webkit-transition: opacity 0.2s ease-out;
 -moz-transition: opacity 0.2s ease-out;
 -o-transition: opacity 0.2s ease-out;
 transition: opacity 0.2s ease-out;
}

#slide1:checked ~ #slides article:nth-child(1) .info,
#slide2:checked ~ #slides article:nth-child(2) .info,
#slide3:checked ~ #slides article:nth-child(3) .info,
#slide4:checked ~ #slides article:nth-child(4) .info,
#slide5:checked ~ #slides article:nth-child(5) .info,
#slide6:checked ~ #slides article:nth-child(6) .info,
#slide7:checked ~ #slides article:nth-child(7) .info,
#slide8:checked ~ #slides article:nth-child(8) .info,
#slide9:checked ~ #slides article:nth-child(9) .info,
#slide10:checked ~ #slides article:nth-child(10) .info,
#slide11:checked ~ #slides article:nth-child(11) .info,
#slide12:checked ~ #slides article:nth-child(12) .info,
#slide13:checked ~ #slides article:nth-child(13) .info,
#slide14:checked ~ #slides article:nth-child(14) .info,
#slide15:checked ~ #slides article:nth-child(15) .info {
 opacity: 1;
 -webkit-transition: all 1s ease-out 0.6s;
 -moz-transition: all 1s ease-out 0.6s;
 -o-transition: all 1s ease-out 0.6s;
 transition: all 1s ease-out 0.6s;
}

.info, #controls, #slides, #active, #active li, .info h3, .desktop, .tablet, .mobile {
 -webkit-transform: translateZ(0);
 -webkit-transition: all 0.5s ease-out;
 -moz-transition: all 0.5s ease-out;
 -o-transition: all 0.5s ease-out;
 transition: all 0.5s ease-out;
}




/* Responsive Styling */

/* Tablet */

#tablet:checked ~ #slider #controls {
 margin: -25% 0 0 12%;
 width: 76%;
 height: 50px;
}

#tablet:checked ~ #slider #controls li {
 -moz-transform: scale(0.8);
 -webkit-transform: scale(0.8);
 -o-transform: scale(0.8);
 -ms-transform: scale(0.8);
 transform: scale(0.8);
}

#tablet:checked  ~ #slider #slides, #mobile:checked  ~ #slider #slides {
 padding: 1% 0;
}

#tablet:checked ~ #slider #active {
 margin: 22% 0 0;
}

@media only screen and (max-width: 850px) and (min-width: 450px) {

 #slider #controls {
  margin: -25% 0 0 15%;
  width: 70%;
  height: 50px;
 }

 #slider #controls li {
  -moz-transform: scale(0.8);
  -webkit-transform: scale(0.8);
  -o-transform: scale(0.8);
  -ms-transform: scale(0.8);
  transform: scale(0.8);
 }

 #slider #slides {
  padding: 1% 0;
 }

 #slider #active {
  margin: 22% 0 0;
 }

}

/* Mobile */

#mobile:checked ~ #slider #controls {
 margin: -28% 0 0 24%;
 width: 50%;
 height: 50px;
}

#mobile:checked ~ #slider #active {
 margin: 23% 0 0;
}

#mobile:checked ~ #slider #slides .info {
 opacity: 0 !important;
}

#mobile:checked ~ #slider #controls li {
 -moz-transform: scale(0.6);
 -webkit-transform: scale(0.6);
 -o-transform: scale(0.6);
 -ms-transform: scale(0.6);
 transform: scale(0.6);
}


@media only screen and (max-width: 450px) {

 #slider #controls {
  margin: -28% 0 0 24%;
  width: 50%;
  height: 50px;
 }

 #slider #active {
  margin: 23% 0 0;
 }

 #slider #slides {
  padding: 1% 0;
 }

 #slider #slides .info {
  opacity: 0 !important;
 }

 #slider #controls li {
  -moz-transform: scale(0.6);
  -webkit-transform: scale(0.6);
  -o-transform: scale(0.6);
  -ms-transform: scale(0.6);
  transform: scale(0.6);
 }

}


@media only screen and (min-width: 850px) {

 .container-slide {
  padding: 0 80px;
 }
}
<div class="container-slide">
    
                
              
<article id="slider">
  
 
  <!-- Slider Setup -->
 
  <input selected="false" name="slider" id="slide1" type="radio">
  <input selected="false" name="slider" id="slide2" type="radio">
  <input selected="false" name="slider" id="slide3" type="radio">
  <input selected="false" name="slider" id="slide4" type="radio">
  <input selected="false" name="slider" id="slide5" type="radio">
        <input selected="false" name="slider" id="slide6" type="radio">
        <input selected="false" name="slider" id="slide7" type="radio">
        <input selected="false" name="slider" id="slide8" type="radio">
        <input checked="checked" selected="false" name="slider" id="slide9" type="radio">
        <input selected="true" name="slider" id="slide10" type="radio">
 
 
  <!-- The Slider -->
  
  <div id="slides">
  
   <div id="overflow">
   
    <div class="inner">
    
     <article>
      <div class="info"><h3>Cloud Dragon</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="CouldDragonByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Mountain Fort</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="MountainFortByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Mountain Outpost</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="MountainOutpostByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Cliffs</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="CliffsByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Hill Fort</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="HillFortByBjzaba.png">
     </article>
                    
                    <article>
      <div class="info"><h3>Cloud Dragon</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="CouldDragonByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Mountain Fort</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="MountainFortByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Mountain Outpost</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="MountainOutpostByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Cliffs</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="CliffsByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Hill Fort</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="HillFortByBjzaba.png">
     </article>
                    
                    <article>
      <div class="info"><h3>Cloud Dragon</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="CouldDragonByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Mountain Fort</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="MountainFortByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Mountain Outpost</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="MountainOutpostByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Cliffs</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="CliffsByBjzaba.png">
     </article>
     
     <article>
      <div class="info"><h3>Hill Fort</h3> by <a href="http://voyager3.tumblr.com/">Brendan Zabarauskas</a></div>
      <img src="HillFortByBjzaba.png">
     </article>
     
    </div> <!-- .inner -->
    
   </div> <!-- #overflow -->
  
  </div> <!-- #slides -->
 
 
  <!-- Controls and Active Slide Display -->
        
        <div id="controls-slide">
      <label for="slide1"></label>
      <label for="slide2"></label>
                        <label for="slide3"></label>
                        <label for="slide4"></label>
                        <label for="slide5"></label>
                        <label for="slide6"></label>
      <label for="slide7"></label>
                        <label for="slide8"></label>
                        <label for="slide9"></label>
                        <label for="slide10"></label>
    </div>
  
  <div id="active" class="dotstyle dotstyle-tooltip">

      <label for="slide1"><a>Sean</a></label>
      <label for="slide2"><a>Richard</a></label>
                        <label for="slide3"><a>Anton</a></label>
                        <label for="slide4"><a>Travis</a></label>
                        <label for="slide5"><a>Matt</a></label>
                        <label for="slide6"><a>Roxy</a></label>
      <label for="slide7"><a>David</a></label>
                        <label for="slide8"><a>Charlie</a></label>
                        <label for="slide9"><a>Phil</a></label>
                        <label for="slide10"><a>Mike</a></label>
   
  </div> <!-- #active -->
 
 </article> <!-- #slider -->
        
        
        
        
    
</div>

这是因为你的这两种风格:

#slides .inner {
    width: 500%;
}

#slides article {
    width: 20%;
}

这些宽度设置为仅适用于 5 张幻灯片。 .inner 宽度应为 (100 * numberOfSlides),article 应为 (100 / numberOfSlides),以便所有内容都很好地排成一行。您只看到了 5 张幻灯片,因为第 5 张幻灯片之后的所有其他幻灯片都在第 5 张幻灯片下方。

查看此 fiddle,它适用于 15 张幻灯片。唯一的更新是:

#slides .inner {
    width: 1500%;
}

#slides article {
    width: 6.6%;
}