W przypadku rozwiązania opartego tylko na CSS (i bez ikon) przy użyciu Bootstrap 3 musiałem trochę majstrować w oparciu o powyższą odpowiedź Martina Wickmana.
Nie użyłem notacji akordeonowej *, ponieważ jest to zrobione z panelami w BS3.
Musiałem również dołączyć do początkowego kodu HTML aria-extended = "true" w elemencie, który jest otwarty podczas ładowania strony.
Oto CSS, którego użyłem.
.accordion-toggle:hover { text-decoration: none; }
.accordion-toggle:hover span, .accordion-toggle:hover strong { text-decoration: underline; }
.accordion-toggle:before { font-size: 25px; }
.accordion-toggle[data-toggle="collapse"]:before { content: "+"; margin-right: 0px; }
.accordion-toggle[aria-expanded="true"]:before { content: "-"; margin-right: 0px; }
Oto mój oczyszczony HTML:
<div id="acc1">
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" aria-expanded="true" data-parent="#acc1" href="#acc1-1">Title 1
</a>
</span>
</div>
<div id=“acc1-1” class="panel-collapse collapse in">
<div class="panel-body">
Text 1
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">
<span class="panel-title">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#acc1” href=“#acc1-2”>Title 2
</a>
</span>
</div>
<div id=“acc1-2” class="panel-collapse collapse">
<div class="panel-body">
Text 2
</div>
</div>
</div>
</div>
.bs.collapse
. Zmieniłem też,shown and hidden to show and hide
żeby animacja odbywała się przed otwarciem akordeonu.