Для решения только с CSS (и без значков) с использованием Bootstrap 3 мне пришлось немного поиграть, основываясь на ответе Мартина Викмана выше.
Я не использовал нотацию аккордеона- *, потому что это сделано с панелями в BS3.
Кроме того, мне пришлось включить в исходный HTML-код aria-extended = "true" для элемента, который открывается при загрузке страницы.
Вот CSS, который я использовал.
.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; }
Вот мой очищенный 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. Я также изменил,shown and hidden to show and hideчтобы анимация происходила до открытия аккордеона.