Dans un accordéon Bootstrap, au lieu de nécessiter un clic sur le a
texte, je veux le faire réduire en cliquant n'importe où dans le panel-heading
div.
J'utilise Bootstrap 3. Donc, au lieu d'accordéon, c'est juste un panneau pliable. Une idée comment rendre le panneau entier cliquable?
Réponses:
Il ne vous reste plus qu'à utiliser ...
data-toggle="collapse"
data-target="#ElementToExpandOnClick"
... sur l'élément sur lequel vous souhaitez cliquer pour déclencher l'effet de réduction / expansion.
L'élément avec
data-toggle="collapse"
sera l'élément qui déclenchera l'effet. L'data-target
attribut indique l'élément qui se développera lorsque l'effet est déclenché.En option, vous pouvez définir
data-parent
si vous souhaitez créer un effet d'accordéon au lieu d'un effet pliable indépendant, par exemple:data-parent="#accordion"
J'ajouterais également le CSS suivant aux éléments avec
data-toggle="collapse"
s'ils ne sont pas des<a>
balises, par exemple:Voici un jsfiddle avec le html modifié de la documentation Bootstrap 3 .
la source
role="tab button"
et le navigateur interprétera le premier de la liste qu'il comprend (très probablementtab
). Cependant, je ne sais pas lequel des deux est le meilleur. Essayez de trouver le sens destab
et desbutton
rôles et cela vous donnera la réponse à laquelle choisir.Une autre façon est de
<a>
remplir complètement tout l'espace du fichierpanel-heading
. Utilisez ce style pour ce faire:Consultez cette démo ( http://jsfiddle.net/KbQyx/ ).
Ensuite, lorsque vous cliquez sur l'en-tête, vous cliquez en fait sur le
<a>
.la source
J'ai remarqué quelques défauts mineurs dans jsfiddle de grim.
Pour que le pointeur se transforme en main pour l'ensemble du panneau, utilisez:
J'ai supprimé la
<a>
balise (un problème de style) et j'ai continué toutdata-toggle="collapse" data-parent="#accordion" data-target="#collapse..."
dupanel-heading
long.J'ai ajouté une méthode CSS pour afficher le chevron, en utilisant
font-awesome.css
dans mon jsfiddle:http://jsfiddle.net/weaversnap/7FqsX/1/
la source
panel-heading
pourpanel-heading collapsed
pour fixer les chevrons à l'envers.Voici une solution pour Bootstrap4. Il vous suffit de mettre la
card-header
classe dans laa
balise. Ceci est une modification d'un exemple dans W3Schools .la source
Une solution simple serait de supprimer le rembourrage
.panel-heading
et d'en ajouter.panel-title a
.Cette solution est similaire à celle ci-dessus publiée par calfzhou , légèrement différente.
la source
En fait, mon panneau avait cette icône de flèche d'état de réduction et j'ai essayé d'autres réponses dans cet article, mais la position de l'icône a changé, voici donc la solution avec l'icône de flèche d'état de réduction .
Ajoutez ce CSS personnalisé
Le crédit va à ce post-répondeur.
L'espoir aide.
la source
Voici l'exemple de travail pour Bootstrap 4.3
la source