Skip to content

Instantly share code, notes, and snippets.

@danbhala
Created May 14, 2015 11:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danbhala/7e1f126c632e3b7bfed0 to your computer and use it in GitHub Desktop.
Save danbhala/7e1f126c632e3b7bfed0 to your computer and use it in GitHub Desktop.
Bootstrap Vertical Carousel
<div class="container">
<div class="page-header">
<h1>Bootstrap Vertical Carousel</h1>
<p class="lead">Out of the box, Bootstrap only comes with a traditional horizontal carousel. This Pen has the HTML and CSS to get it to animate vertically with up/down carousel controls.</p>
</div>
</div>
<div class="bg-info">
<div class="container">
<div id="carousel-example-vertical" class="carousel vertical slide">
<div class="carousel-inner" role="listbox">
<div class="item active">
<p class="ticker-headline">
<a href="#">
<strong>Article Headline 1</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras luctus eu odio fermentum tempus. Aliquam erat volutpat. Etiam arcu urna, lacinia sed dapibus sed, molestie ac mi.
</a>
</p>
</div>
<div class="item">
<p class="ticker-headline">
<a href="#">
<strong>Article Headline 2</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras luctus eu odio fermentum tempus. Aliquam erat volutpat. Etiam arcu urna, lacinia sed dapibus sed, molestie ac mi.
</a>
</p>
</div>
<div class="item">
<p class="ticker-headline">
<a href="#">
<strong>Article Headline 3</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras luctus eu odio fermentum tempus. Aliquam erat volutpat. Etiam arcu urna, lacinia sed dapibus sed, molestie ac mi.
</a>
</p>
</div>
<div class="item">
<p class="ticker-headline">
<a href="#">
<strong>Article Headline 4</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras luctus eu odio fermentum tempus. Aliquam erat volutpat. Etiam arcu urna, lacinia sed dapibus sed, molestie ac mi.
</a>
</p>
</div>
<div class="item">
<p class="ticker-headline">
<a href="#">
<strong>Article Headline 5</strong> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras luctus eu odio fermentum tempus. Aliquam erat volutpat. Etiam arcu urna, lacinia sed dapibus sed, molestie ac mi.
</a>
</p>
</div>
</div>
<!-- Controls -->
<a class="up carousel-control" href="#carousel-example-vertical" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-up" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="down carousel-control" href="#carousel-example-vertical" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
body {
margin: 50px 0;
}
.ticker-headline {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 15px 0;
margin: 0;
font-size: 18px;
}
.carousel.vertical .carousel-inner {
height: 100%;
width: auto;
> .item {
width: auto;
padding-right: 50px;
transition: 0.6s ease-in-out top;
@media all and (transform-3d), (-webkit-transform-3d) {
transition: 0.6s ease-in-out;
&.next,
&.active.right {
transform: translate3d(0, 100%, 0);
top: 0;
}
&.prev,
&.active.left {
transform: translate3d(0, -100%, 0);
top: 0;
}
&.next.left,
&.prev.right,
&.active {
transform: translate3d(0, 0, 0);
top: 0;
}
}
}
> .active,
> .next,
> .prev {
display: block;
}
> .active {
top: 0;
}
> .next,
> .prev {
position: absolute;
top: 0;
width: 100%;
}
> .next {
top: 100%;
}
> .prev {
top: -100%;
}
> .next.left,
> .prev.right {
top: 0;
}
> .active.left {
top: -100%;
}
> .active.right {
top: 100%;
}
}
.carousel.vertical {
.carousel-control {
left: auto;
width: 50px;
&.up {
top: 0;
right: 0;
bottom: 50%;
}
&.down {
top: 50%;
right: 0;
bottom: 0;
}
// Toggles
.icon-prev,
.icon-next,
.glyphicon-chevron-up,
.glyphicon-chevron-down {
position: absolute;
top: 50%;
z-index: 5;
display: inline-block;
}
.icon-prev,
.glyphicon-chevron-up {
left: 50%;
margin-left: -10px;
top: 50%;
margin-top: -10px;
}
.icon-next,
.glyphicon-chevron-down {
left: 50%;
margin-left: -10px;
top: 50%;
margin-top: -10px;
}
.icon-up,
.icon-down {
width: 20px;
height: 20px;
//margin-top: -10px;
line-height: 1;
font-family: serif;
}
.icon-prev {
&:before {
content: '\2039';
// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)
}
}
.icon-next {
&:before {
content: '\203a';
// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment