Twitter Bootstrap carousel arrows not centered vertically depending on glyphicon
css, html, twitter-bootstrap
Solution
I have to admit, this issue is a bit strange. In Twitter Bootstrap, there are this particular lines:
.carousel-control .icon-prev, .carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left, .carousel-control
.glyphicon-chevron-right, .glyphicon-circle-arrow-left {
display: inline-block;
position: absolute;
top: 50%;
z-index: 5;
}
Like you see, there is no `.glyphicon-circle-arrow-left` and no `.glyphicon-circle-arrow-right` class specified. So you can simply add it and everything should work fine:
.carousel-control .icon-prev, .carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left, .carousel-control
.glyphicon-chevron-right, .glyphicon-circle-arrow-left,
.carousel-control .glyphicon-circle-arrow-left,
.carousel-control .glyphicon-circle-arrow-right {
display: inline-block;
position: absolute;
top: 50%;
z-index: 5;
}
Problem
I created a Twitter Bootstrap carousel with the default arrows (glyphicon-chevron-left and glyphicon-chevron-right). These are nicely centered vertically in the carousel. I though about replacing these icons with two different icons, namely glyphicon-circle-arrow-left and glyphicon-circle-arrow-right. But for some reason, when only replacing the icons, they are suddenly not centered vertically anymore. I can't find out why. This is the nicely centered version (http://jsfiddle.net/AdF6b): ``` <div class="row"> <div id="foto-carousel" class="carousel slide"> <ol class="carousel-indicators"> <li data-target="#foto-carousel" data-slide-to="0" class="active"></li> <li data-target="#foto-carousel" data-slide-to="1"></li> <li data-target="#foto-carousel" data-slide-to="2"></li> </ol> <!-- Carousel items --> <div class="carousel-inner"> <div class="active item"> <img src="http://lorempixel.com/g/1600/800/city/1"> <div class="carousel-caption"> <h4>Slide 1</h4> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...</p> </div> </div> <div class="item"> <img src="http://lorempixel.com/g/1600/800/city/3"> <div class="carousel-caption"> <h4>Slide 2</h4> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...</p> </div> </div> <div class="item"> <img src="http://lorempixel.com/g/1600/800/city/5"> <div class="carousel-caption"> <h4>Slide 3</h4> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...</p> </div> </div> </div> <a class="left carousel-control" href="#foto-carousel" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left"></span> --> </a> <a class="right carousel-control" href="#foto-carousel" data-slide="next"> <span class="glyphicon glyphicon-chevron-right"></span> </a> </div> ``` The non centered version (http://jsfiddle.net/AdF6b/1/): ``` <div class="row"> <div id="foto-carousel" class="carousel slide"> <ol class="carousel-indicators"> <li data-target="#foto-carousel" data-slide-to="0" class="active"></li> <li data-target="#foto-carousel" data-slide-to="1"></li> <li data-target="#foto-carousel" data-slide-to="2"></li> </ol> <!-- Carousel items --> <div class="carousel-inner"> <div class="active item"> <img src="http://lorempixel.com/g/1600/800/city/1"> <div class="carousel-caption"> <h4>Slide 1</h4> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...</p> </div> </div> <div class="item"> <img src="http://lorempixel.com/g/1600/800/city/3"> <div class="carousel-caption"> <h4>Slide 2</h4> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...</p> </div> </div> <div class="item"> <img src="http://lorempixel.com/g/1600/800/city/5"> <div class="carousel-caption"> <h4>Slide 3</h4> <p>Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...</p> </div> </div> </div> <a class="left carousel-control" href="#foto-carousel" data-slide="prev"> <span class="glyphicon glyphicon-circle-arrow-left"></span> </a> <a class="right carousel-control" href="#foto-carousel" data-slide="next"> <span class="glyphicon glyphicon-circle-arrow-right"></span> </a> </div> ``` Why are the arrows in the second version not centered? The only difference is the glyphicon classes.