Per una soluzione solo CSS (e senza icone) che utilizza Bootstrap 3 ho dovuto giocherellare un po 'sulla base della risposta di Martin Wickman sopra.
Non ho usato la notazione accordion- * perché è fatta con i pannelli in BS3.
Inoltre, ho dovuto includere nell'HTML iniziale aria-Expand = "true" l'elemento che è aperto al caricamento della pagina.
Ecco il CSS che ho usato.
.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; }
Ecco il mio HTML igienizzato:
<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. Ho anche cambiato inshown and hidden to show and hidemodo che l'animazione avvenga prima che la fisarmonica si apra.