边框在列表项中增长为进度条

时间:2016-08-04 18:05:45

标签: html css angularjs

我得到了一个阶段列表,每按一下按钮,活动元素的边框应为红色。

该项目基于angularjs,下面是我的jsfiddle https://jsfiddle.net/alaksandarjesus/c51h4y5q/

任务是

  1. 红色边框应从活动列表的0px开始,并增长到100%。是否可以使用css过渡以这种方式为边框设置动画。

  2. 在活动的li边框的中间底部应该有一个向下箭头。

  3. 我希望列表项宽度均匀分布。

    li{
    border-bottom:5px solid;
    list-style:none;
    text-align:center;
    width:90px;/*toggle this line*/
    }
    
  4. 如果您对此宽度属性发表评论并查看边框,则可以获得更好的信息。

    
    
    var app = angular.module('testApp',[]);
    app.controller('testController', function($scope){
    
    $scope.items = ['stage-1','stage-2','stage-3','stage-4','stage-5','stage-6']
    $scope.active = 0;
    
    $scope.nxtClicked = function(){
    	if($scope.active  < $scope.items.length-1){
      $scope.active++;
      }
    
    }
    
    $scope.bckClicked = function(){
    if($scope.active > 0){
      $scope.active--;
      }
    }
    
    })
    &#13;
    ul{
      margin 0;
      padding: 0;
      display:flex;
      justify-content:space-between;
    }
    
    li{
      border-bottom:5px solid;
      list-style:none;
      text-align:center;
      width:90px;
    }
    
    li.completed{
      border-color:green;
      
    }
    li.incomplete{
      border-color:#ddd;
    }
    
    li.active{
      border-color:red;
    }
    &#13;
    <ul>
      <li ng-repeat="item in items" ng-class="{'completed':$index<active, 'incomplete':$index>active,'active':$index==active}">{{item}}</li>
    </ul>
    
    <button ng-click="nxtClicked()">Next</button>
    <button ng-click="bckClicked()">Back</button>
    &#13;
    &#13;
    &#13;

1 个答案:

答案 0 :(得分:-1)

我认为你无法使用css为DOM-Element的边框设置动画。但你可以看看这个小提琴。我使用了之前和之后的伪元素来制作动画。我希望这可以帮助您,并可能为您提供实现目标的第一步。对于第2点,我将向li元素添加一个跨度并将其绝对定位。 https://jsfiddle.net/Marouen/ebq90f5u/

[https://jsfiddle.net/Marouen/ebq90f5u/][1]