箭头纯 CSS 图像滑块



到目前为止,只有中间的幻灯片在左侧具有指向左侧的正确箭头,在右侧具有指向右侧的箭头。但是我无法使您在左侧或右侧滑动箭头以指向正确的方向。

谢谢!

http://codepen.io/anon/pen/WvZGdb

.HTML

<div id="slides">
 <input type="radio" name="slider" id="slide1" class="set"/>
 <input checked type="radio" name="slider" id="slide2" class="set"/>
 <input type="radio" name="slider" id="slide3" class="set"/>
 <div class="mask">
  <div class="overflow">
   <div class="slide"><img src="../images/work.png"/></div>
   <div class="slide"><img src="../images/work.png"/></div>
   <div class="slide"><img src="../images/work.png"/></div>
  </div>
 </div>
<div id="controls" onclick="">
 <label for="slide1">1</label>
 <label for="slide2">2</label>
 <label for="slide3">3</label>
</div>
</div>
</div>

.CSS

input.set { 
display:none; 
}
#slide1:checked ~ .mask .overflow { margin-left:0; }
#slide2:checked ~ .mask .overflow { margin-left:-640px; }
#slide3:checked ~ .mask .overflow { margin-left:-1280px; }
#slides { 
margin:auto; 
width:760px; 
position:relative;
background-color:#096;
}
#slides .mask { 
width:640px;
overflow:hidden;
margin:auto;
}
#slides .overflow { 
width:300%;
-webkit-transition: ease-out 0.5s; 
}
#slides .slide { 
width: 640px;
height:480px; 
float:left; 
background: silver;
}
#controls label { 
display:none; 
width:60px; 
height:60px; 
opacity:0.5; 
position:absolute; 
top:50%; 
margin-top:-30px; 
cursor:pointer; 
background:#0C0;
}
#controls label:hover { 
opacity:1; 
}
#slide1:checked ~ #controls label:nth-child(2), #slide2:checked ~ #controls label:nth-child(3), #slide3:checked ~ #controls label:nth-child(2) { right:0; display:block; }
#slide2:checked ~ #controls label:nth-child(1), #slide3:checked ~ #controls label:nth-child(2) { left:0; display:block; }
我不知道

我是否让你做对,但我可以试试。根据我读到的内容,您希望最后一张幻灯片上的箭头向后"移动"("<")。

此解决方案的方法很少。

第一种方式

当类位于最后一个div 上时,您可以添加一个类,如果旋转 180 度,则只需旋转即可。

#slide3:checked ~ #controls label:nth-child(2) {
  transform: rotate(180deg);}

第二种方式

与第一种方式一样,您为最后一个场景添加一个类,并使用矩阵翻转它。

#slide3:checked ~ #controls label:nth-child(2) {
  transform: matrix(-1,0,0,1,0,0);}

第三种方式

对我来说,也许是最好的方法。您可以使用 :before 和 content:" 对字母、图标或标签使用符号。所以标签是空的,你用之前"填充"它们。

浏览器支持

对于前两种方式,您需要使用前缀。

  • IE> 9(IE 9 需要前缀)
  • 火狐> 3 ( FF <15 需要前缀)
  • Chrome(
  • Chrome <35 需要前缀)
  • 野生动物园(需要前缀)
  • Opera
  • > 10(Opera <22 需要前缀)

欲了解更多信息,我可以使用

相关内容

  • 没有找到相关文章

最新更新