title: Angular Bootstrap Text Carousel Vertical Scroll
body: <p>I have an Angular Bootstrap text carousel, How can I use the same code but with vertical scroll instead? Here's a working (horizontal scroll) <a href="https://jsfiddle.net/wayne_james/1Lutc1fa/1/#" rel="nofollow noreferrer">JSFiddle</a>.</p>
  
  <p>This is what I have at the minute.</p>
  
  <p>HTML:</p>
  
  <pre><code>&lt;div ng-app="textCarousel" class="row"&gt;
    &lt;div id="group-news-carousel"&gt;
      &lt;div ng-controller="groupNewsController" id="text-carousel"&gt;
        &lt;h2&gt;Group News&lt;/h2&gt;
        &lt;carousel interval="interval"&gt;
          &lt;slide ng-repeat="slide in slides" active="slide.active"&gt;
            {{slide.text}}
          &lt;/slide&gt;
        &lt;/carousel&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
  </code></pre>
  
  <p>CSS:</p>
  
  <pre><code>.carousel {
    position: relative;
  }
  .carousel-inner {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 290px;
    text-align: center;
  }
  
  .carousel-inner &gt; .item {
    display: none;
    position: relative;
    -webkit-transition: 0.6s ease-in-out left;
    -o-transition: 0.6s ease-in-out left;
    transition: 0.6s ease-in-out left;
    margin-top: 120px;
  }
  
  .carousel-inner &gt; .item &gt; img,
  .carousel-inner &gt; .item &gt; a &gt; img {
    line-height: 1;
  }
  @media all and (transform-3d), (-webkit-transform-3d) {
    .carousel-inner &gt; .item {
      -webkit-transition: -webkit-transform 0.6s ease-in-out;
      -o-transition: -o-transform 0.6s ease-in-out;
      transition: transform 0.6s ease-in-out;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-perspective: 1000px;
      perspective: 1000px;
    }
    .carousel-inner &gt; .item.next,
    .carousel-inner &gt; .item.active.right {
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
      left: 0;
    }
    .carousel-inner &gt; .item.prev,
    .carousel-inner &gt; .item.active.left {
      -webkit-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
      left: 0;
    }
    .carousel-inner &gt; .item.next.left,
    .carousel-inner &gt; .item.prev.right,
    .carousel-inner &gt; .item.active {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
      left: 0;
    }
  }
  .carousel-inner &gt; .active,
  .carousel-inner &gt; .next,
  .carousel-inner &gt; .prev {
    display: block;
  }
  .carousel-inner &gt; .active {
    left: 0;
  }
  .carousel-inner &gt; .next,
  .carousel-inner &gt; .prev {
    position: absolute;
    top: 0;
    width: 100%;
  }
  .carousel-inner &gt; .next {
    left: 100%;
  }
  .carousel-inner &gt; .prev {
    left: -100%;
  }
  .carousel-inner &gt; .next.left,
  .carousel-inner &gt; .prev.right {
    left: 0;
  }
  .carousel-inner &gt; .active.left {
    left: -100%;
  }
  .carousel-inner &gt; .active.right {
    left: 100%;
  }
  .carousel-control {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 15%;
    opacity: 0.5;
    filter: alpha(opacity=50);
    font-size: 20px;
    color: #ffffff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    background-color: rgba(0, 0, 0, 0);
  }
  .carousel-control.left {
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
  }
  .carousel-control.right {
    left: auto;
    right: 0;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
  }
  .carousel-control:hover,
  .carousel-control:focus {
    outline: 0;
    color: #ffffff;
    text-decoration: none;
    opacity: 0.9;
    filter: alpha(opacity=90);
  }
  .carousel-control .icon-prev,
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    z-index: 5;
    display: inline-block;
  }
  .carousel-control .icon-prev,
  .carousel-control .glyphicon-chevron-left {
    left: 50%;
    margin-left: -10px;
  }
  .carousel-control .icon-next,
  .carousel-control .glyphicon-chevron-right {
    right: 50%;
    margin-right: -10px;
  }
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 20px;
    height: 20px;
    line-height: 1;
    font-family: serif;
  }
  .carousel-control .icon-prev:before {
    content: '\2039';
  }
  .carousel-control .icon-next:before {
    content: '\203a';
  }
  .carousel-indicators {
    position: absolute;
    bottom: 25px;
    left: 50%;
    z-index: 15;
    width: 60%;
    margin: 0 -30%;
    padding-left: 0;
    list-style: none;
    text-align: center;
  }
  .carousel-indicators li {
    display: inline-block;
    height: 15px;
    width: 15px;
    border: 4px solid #cccccc;
    border-radius: 50%;
    padding: 5px;
    margin: 0 6px;
    opacity: 0.4;
    background-color: #ffffff;
    transition: ease 0.7s;
    cursor: pointer;
  }
  .carousel-indicators .active {
    opacity: 1;
    transition: ease 0.7s;
  }
  .carousel-caption {
    position: absolute;
    left: 15%;
    right: 15%;
    bottom: 20px;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #ffffff;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  }
  .carousel-caption .btn {
    text-shadow: none;
  }
  </code></pre>
  
  <p>Thanks</p>