Collapsing CSS arrows.
Using jQuery, Bootstrap and Font Awesome.
by Ayyappan Sakthivadivel
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css">
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="panel panel-info">
<div class="panel-heading collapsed" data-toggle="collapse" data-target="#bar">
<i class="fa fa-fw fa-chevron-down"></i>
<i class="fa fa-fw fa-chevron-right"></i>Foo
</div>
<div class="panel-body">
<!-- The inside div eliminates the 'jumping' animation. -->
<div class="collapse" id="bar">
Bar.
</div>
</div>
<div class="panel-heading" data-toggle="collapse" data-target="#bar2">
<i class="fa fa-fw fa-chevron-down"></i>
<i class="fa fa-fw fa-chevron-right"></i>Foo
</div>
<div class="panel-body">
<!-- The inside div eliminates the 'jumping' animation. -->
<div class="collapse" id="bar2">
Bar.
</div>
</div>
</div>
CSS
.panel-heading.collapsed .fa-chevron-down,
.panel-heading .fa-chevron-right {
display: none;
}
.panel-heading.collapsed .fa-chevron-right,
.panel-heading .fa-chevron-down {
display: inline-block;
}
i.fa {
cursor: pointer;
margin-right: 5px;
}
.collapsed ~ .panel-body {
padding: 0;
}