2017-02-13 19 views
0

私は画像スライダーを持っています。スライドショーに画像を追加し始めたときに、同時に2枚の画像が表示されているので、スライダーが機能しません。純粋なcssスライダー - なぜ画像はブロックで表示されますか?

画像を追加したときに間違っていたことについて、私は何か考えていただきたいと思います。

ありがとうございました!あなたのCSSを見てみて

html { 
 
    background: radial-gradient(#238dbb, #114476); 
 
    height: 100%; 
 
    text-align: center; 
 
    font-family: Helvetica; 
 
    font-size: 3em; 
 
    color: #134c7e; 
 
} 
 
input.set { 
 
    display: none; 
 
} 
 
#slide1:checked ~ .mask .overflow { 
 
    margin-left: 0; 
 
} 
 
#slide2:checked ~ .mask .overflow { 
 
    margin-left: -100%; 
 
} 
 
#slide3:checked ~ .mask .overflow { 
 
    margin-left: -200%; 
 
} 
 
#slide4:checked ~ .mask .overflow { 
 
    margin-left: -300%; 
 
} 
 
#slide5:checked ~ .mask .overflow { 
 
    margin-left: -400%; 
 
} 
 
#slides { 
 
    margin: 50px auto; 
 
    width: 80%; 
 
    position: relative; 
 
} 
 
#slides .mask { 
 
    width: 90%; 
 
    overflow: hidden; 
 
    margin: auto; 
 
} 
 
#slides .overflow { 
 
    width: 400%; 
 
    -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; 
 
} 
 
#slides .slide { 
 
    width: 25%; 
 
    height: 200px; 
 
    line-height: 200px; 
 
    float: left; 
 
    background: #fff; 
 
} 
 
#controls { 
 
    width: 100%; 
 
} 
 
#controls label { 
 
    display: none; 
 
    width: 5%; 
 
    height: 60px; 
 
    opacity: 0.3; 
 
    position: absolute; 
 
    top: 50%; 
 
    margin-top: -30px; 
 
    cursor: pointer; 
 
    background: #000; 
 
} 
 
#controls label:hover { 
 
    opacity: 0.8; 
 
} 
 
#slide1:checked ~ #controls label:nth-child(2), 
 
#slide2:checked ~ #controls label:nth-child(3), 
 
#slide3:checked ~ #controls label:nth-child(4), 
 
#slide4:checked ~ #controls label:nth-child(5) { 
 
    right: 0; 
 
    display: block; 
 
} 
 
#slide2:checked ~ #controls label:nth-child(1), 
 
#slide3:checked ~ #controls label:nth-child(2), 
 
#slide4:checked ~ #controls label:nth-child(3), 
 
#slide5:checked ~ #controls label:nth-child(4) { 
 
    left: 0; 
 
    display: block; 
 
}
<div id="slides"> 
 

 
    <input checked type="radio" name="slider" id="slide1" class="set" /> 
 
    <input type="radio" name="slider" id="slide2" class="set" /> 
 
    <input type="radio" name="slider" id="slide3" class="set" /> 
 
    <input type="radio" name="slider" id="slide4" class="set" /> 
 
    <input type="radio" name="slider" id="slide5" class="set" /> 
 

 
    <div class="mask"> 
 

 
    <div class="overflow"> 
 

 
     <div class="slide"> 
 
     <img src="http://static.asiawebdirect.com/m/phuket/portals/phuket-com/homepage/phuket-magazine/freedom-beach/pagePropertiesImage/freedom-beach.jpg"> 
 
     </div> 
 
     <div class="slide">2</div> 
 
     <div class="slide"> 
 
     <img src="http://static.asiawebdirect.com/m/phuket/portals/phuket-com/homepage/phuket-magazine/freedom-beach/pagePropertiesImage/freedom-beach.jpg"> 
 
     </div> 
 
     <div class="slide"> 
 
     <img src="http://7-themes.com/data_images/out/33/6882876-beach-sunset.jpg"> 
 
     </div> 
 
     <div class="slide"> 
 
     <img src="http://wallpapercave.com/wp/rt17YTU.jpg"> 
 
     </div> 
 
    </div> 
 

 
    </div> 
 

 
    <div id="controls" onclick=""> 
 

 
    <label for="slide1"></label> 
 
    <label for="slide2"></label> 
 
    <label for="slide3"></label> 
 
    <label for="slide4"></label> 
 
    <label for="slide5"></label> 
 

 
    </div> 
 

 
</div>

答えて

1

、あなたの​​クラスがwidth: 25%を持っています。もちろん、幅が25%のスライドが5つある場合は、親コンテナの幅を超えます。最後のスライドが下に折り返され、おそらく2つのスライドが表示されます。

​​クラスをwidth: 20%に変更し、その幅の合計が100%になるようにしてください。

それぞれが100%幅を占めるようにするには、親の.overflowの幅を500%(各スライドに100%)に設定する必要があります。

0

#slides .overflowの幅を調整する必要があります。今度はwidth: 400%;です。これにより、4フルサイズの子供ができます。スライドを追加する場合は、その値を増やします。たとえば、それぞれがコンテナーの幅の100%である6つのスライドに対して600%を増やします。

また、#slides .slide要素の幅は、6つのスライドの場合は16.6666%のように調整する必要があります。 (すなわち、コンテナの1/6)

+0

「幅:25%」の子が5つある場合、その親の幅の125%になります。彼らは親の幅に関係なく包みませんか? [例](https://jsfiddle.net/4m94e5gm/1/) – Santi

関連する問題