简体   繁体   English

使用普通CSS创建轮播

[英]Creating carousel using plain CSS

I'm trying to create a carousel with plain CSS that can hold 5 items in the current view and display rest on click of sliders. 我正在尝试使用普通CSS创建一个轮播,该CSS可以在当前视图中容纳5个项目,并在单击滑块时显示其余内容。

Reference : Bootstrap carousel 参考: 自举旋转木马

Here's my fruit list plunker that I've created with background grey.I tried by giving width to 50% but was not able to hide the items not display them on click of left/right arrow.Please help.. 这是我用背景灰色创建的水果列表插件 。我尝试将宽度设置为50%,但无法隐藏这些项目,而单击左/右箭头则无法显示它们。请帮助。

  <div class="col-xs-12 col-sm-12  col-md-12 col-lg-12" style="
    padding-left: 0px;bottom: 10px">
         <span class="glyphicon">&#xe079;</span>
         <ul style="line-height:30px" id="nav" ng-repeat="item in fruitSlider">
            <li>
                <span class="fruit-name block" style="
                text-align: left;">{{item.view}}</span>
                <span class="mape-percent block">{{item.count}}%</span>
            </li>
        </ul>
        <span class="glyphicon">&#xe080;</span>
     </div>

So here is very basic simple example, don't have time now to provide more advanced code. 因此,这是一个非常基本的简单示例,现在没有时间提供更高级的代码。 https://jsfiddle.net/maximelian/1f0dwbL9/26/ https://jsfiddle.net/maximelian/1f0dwbL9/26/

html: HTML:

<div class="leftbutton"><</div>
<div class="outer">
  <div class="div1 shown">Test</div>
  <div class="div2 right">test 2</div>
</div>
<div class="rightbutton">></div>

css: CSS:

.leftbutton {
  float:left;
}    
.rightbutton {
  float:left;
}    
.outer {
  float:left;
  position:relative;
  width:50px;
  height:50px;
  background-color: red;
  overflow:hidden;
}    
.shown {
  position:absolute;
  width:50px;
  left:0px;
  transition: left 1s;
  -webkit-transition: left 1s;
  -moz-transition: left 1s;
  -ms-transition: left 1s;
  background-color:green;
}    
.left {
  position:absolute;
  left:-50px;
  transition: left 1s;
  -moz-transition: left 1s;
  -ms-transition: left 1s;
  -o-transition: left 1s;
  overflow:hidden;
  background-color:grey;
}    
.right {
  position:absolute;
  left:50px;
  transition: left 1s;
  -moz-transition: left 1s;
  -ms-transition: left 1s;
  -o-transition: left 1s;
  overflow:hidden;
  background-color:grey;
}

javascript: JavaScript的:

$(".leftbutton").on("click",function(){
  $(".shown").removeClass("shown").addClass("left");
  $(".right").removeClass("right").addClass("shown");
});    
$(".rightbutton").on("click",function(){
  $(".shown").removeClass("shown").addClass("right");
  $(".left").removeClass("left").addClass("shown");
});

Basically you just want div wrapper that hide overflow and those image or whatever div's with absolute position. 基本上,您只希望div包装器隐藏溢出和那些图像或具有绝对位置的任何div。 Then you can trigger left position change with script and add some css transitions for animation. 然后,您可以使用脚本触发左位置更改,并为动画添加一些CSS过渡。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM