Un accordion très facile à mettre en oeuvre
C'est celui qu'utilise UP pour sa documentation auto-générée'

🆙 faq : accordion très simple

Cliquer pour lire la documentation

syntaxe : une alternance de titres pour les onglets en H4 et de contenu HTML
{up faq}
-- titre en H4
-- contenu HTML
{/up faq} *
@author: lomart @version: UP-1.0 @license: GNU/GPLv3 @credit: ryans temkoski @tags: layout-dynamic
  • faq: aucun argument nécessaire

Définition des titres des onglets

  • title-tag = h4: pour utiliser une autre balise pour les titres
  • title-tag-preserve: 1 pour conserver 'title-tag' au lieu de div
  • title-class: classe pour le titre (onglet)
  • title-style: style inline pour le titre

Définition des panneaux

  • content-class: classe pour le contenu
  • content-style: style inline pour le contenu

style et options secondaires

  • id: identifiant
  • css-head (base-css): style ajouté dans le HEAD

Version 1.3.3
  • ajout classe active sur titre ouvert
Version 2.5
  • ajout option css-head
  • modification du nom des classes pour identifier chaque onglet
Version 2.9
  • ajout option title-tag-preserve 

 

L'action FAQ est un accordion très simple : un clic pour ouvrir, un clic pour fermer, pas d'indicateur de l'état.

Les texte en h4 sont les titres et tout le code jusqu'au prochain h4 est le contenu de l'onglet

question n°1

texte pour la question n°1

question n°2

texte pour la question n°2 mais un peu plus long

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sin kakan malitiam dixisses, ad aliud nos unum certum vitium consuetudo Latina traduceret. Quis non odit sordidos, vanos, leves, futtiles? Et certamen honestum et disputatio splendida! omnis est enim de virtutis dignitate contentio. Confecta res esset. Disserendi artem nullam habuit. Duo Reges: constructio interrete. Eam si varietatem diceres, intellegerem, ut etiam non dicente te intellego; Atque haec ita iustitiae propria sunt, ut sint virtutum reliquarum communia. Nunc ita separantur, ut disiuncta sint, quo nihil potest esse perversius. Si longus, levis dictata sunt. Eorum enim omnium multa praetermittentium, dum eligant aliquid, quod sequantur, quasi curta sententia; At ille non pertimuit saneque fidenter: Istis quidem ipsis verbis, inquit;

Quamquam tu hanc copiosiorem etiam soles dicere. Quid, cum fictas fabulas, e quibus utilitas nulla elici potest, cum voluptate legimus? Quid iudicant sensus? Nulla profecto est, quin suam vim retineat a primo ad extremum. Atque ego: Scis me, inquam, istud idem sentire, Piso, sed a te opportune facta mentio est. Satis est tibi in te, satis in legibus, satis in mediocribus amicitiis praesidii.

Longum est enim ad omnia respondere, quae a te dicta sunt. Si longus, levis; Nam si beatus umquam fuisset, beatam vitam usque ad illum a Cyro extructum rogum pertulisset. Id enim volumus, id contendimus, ut officii fructus sit ipsum officium. At tu eadem ista dic in iudicio aut, si coronam times, dic in senatu. Illa videamus, quae a te de amicitia dicta sunt.

question n°3

texte pour la question n°3

question n°4

texte pour la question n°4

Le code pour l'exemple ci-dessus

{up faq}
<h4>{up icon=help | size=20px | color=red} question n°1</h4>
  <p>texte pour la question n°1</p>
  <img src="/images/image.jpg">
<h4>{up icon=plus} question n°2</h4>
  <p>texte pour la question n°2 mais un peu plus long {up lorem}</p>
<h4>question n°3</h4>
  <p>texte pour la question n°3</p>
<h4>question n°4</h4>
  <p>texte pour la question n°4</p>
{/up faq}

Un autre en utilisant les options. Il n'est pas prévu de cibler chaque élément séparement.

question n°1

un sous titre en h4

texte pour la question n°1

question n°2

texte pour la question n°2 mais un peu plus long

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quae cum ita sint, effectum est nihil esse malum, quod turpe non sit. Quod autem ratione actum est, id officium appellamus. Quid enim necesse est, tamquam meretricem in matronarum coetum, sic voluptatem in virtutum concilium adducere? Gerendus est mos, modo recte sentiat. Illa videamus, quae a te de amicitia dicta sunt. Modo etiam paulum ad dexteram de via declinavi, ut ad Pericli sepulcrum accederem. Vide igitur ne non debeas verbis nostris uti, sententiis tuis.

Duo Reges: constructio interrete. Portenta haec esse dicit, neque ea ratione ullo modo posse vivi; Occultum facinus esse potuerit, gaudebit; Cum salvum esse flentes sui respondissent, rogavit essentne fusi hostes. Quod autem meum munus dicis non equidem recuso, sed te adiungo socium. Sed ad haec, nisi molestum est, habeo quae velim. Egone non intellego, quid sit don Graece, Latine voluptas? Non quam nostram quidem, inquit Pomponius iocans;

At multis se probavit. Non dolere, inquam, istud quam vim habeat postea videro; Sed in rebus apertissimis nimium longi sumus. Laboro autem non sine causa; Proclivi currit oratio. At, si voluptas esset bonum, desideraret.

{up faq | title-tag=h3 | title-class=bg-vertFonce t-jaune bg-hover-vert| content-class=bd-vertFonce bt0  bg-jauneClair}
<h3>question n°1</h3>
  <p>texte pour la question n°1</p>
<h3>question n°2</h3>
  <p>texte pour la question n°2 mais un peu plus long {up lorem}</p>
{/up faq}

Quelques explications:

title-tag=h3
Normalement les textes dans une balise h4 contiennent les titres. Ici, on préfère h3, car un onglet contient un h4.
title-class
Pour le titre, texte jaune ( t-jaune) et fond vert foncé sauf lors survol en vert (bg-vertFonce bg-hover-vert)
content-class
bordure verte sauf sur le coté top (bd-vertFonce bt0) et fond jaune paille (bg-jauneClair)

Personnaliser le(s) titre(s) des contenus visibles

A partir de la version 1.33, le bloc div des titres ouverts ont la classe active

Cela permet d'ajouter un style CSS. Sur l'exemple précédent avec des titres sur fond vert, nous allons mettre le texte en rouge

{up addcsshead=.bg-vertFonce.upfaq-button.active[color:red !important]}

Pour cibler l'élément, nous utilisons le sélecteur .upfaq-button.active associé à la classe .bg-vertFonce qui est spécifique à cet accordion

Cette action, très utilisée par UP, est simple et très légère.
Si vous avez besoin de plus de fonctionnalités, regardez du coté de l'action tab qui propose également un accordion avec plus d'options

Version 2.5 Ajout option css-head et nom de classe indicé

question n°1

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Unum nescio, quo modo possit, si luxuriosus sit, finitas cupiditates habere. Nos cum te, M. Potius ergo illa dicantur: turpe esse, viri non esse debilitari dolore, frangi, succumbere. Prioris generis est docilitas, memoria; Duo Reges: constructio interrete. Quid est igitur, inquit, quod requiras?

question n°2

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Conferam avum tuum Drusum cum C. Haec bene dicuntur, nec ego repugno, sed inter sese ipsa pugnant. Modo etiam paulum ad dexteram de via declinavi, ut ad Pericli sepulcrum accederem. Duo Reges: constructio interrete. Non enim, si omnia non sequebatur, idcirco non erat ortus illinc. Nam prius a se poterit quisque discedere quam appetitum earum rerum, quae sibi conducant, amittere. Et quod est munus, quod opus sapientiae?

question n°3

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Tu vero, inquam, ducas licet, si sequetur; Paulum, cum regem Persem captum adduceret, eodem flumine invectio? Piso, familiaris noster, et alia multa et hoc loco Stoicos irridebat: Quid enim? Dici enim nihil potest verius.

Cela permet de réaliser des FAQ hautes en couleur !!

Pour cela, chaque bloc dispose de 2 classes spécifiques à sa position : le 1er titre a la classe upfaq-title-1 et son contenu  upfaq-content-1

Il suffit d'utiliser ces sélecteurs associés à #id pour s'assurer que seul cette FAQ sera concernée.

{up faq
 | css-head=#id .upfaq-title-2[background:red]  #id .upfaq-content-2[background:plum;border-color:red]
            #id .upfaq-title-3[background:green;color:yellow]  #id .upfaq-content-3[background:lightgreen;border-color:green]}

Note : border-color permet d'avoir la bordure basse du contenu de la même couleur que le titre.

Option title-tag-preserve

Par défaut le titre d'un onglet utilise une balise DIV car elle n'a pas, en général, de propriété CSS.
title-tag ne sert que pour l'identification du titre des différents onglets.

L'option title-tag-preserve permet d'utiliser la balise d'origine (title-tag) à la place d'une balise DIV.
Dans ce cas, il vous revient d'ajouter les règles CSS pour neutraliser l'effet de votre balise

Pour info, cette page utilise 16 action(s) :
upactionslist (1) readmore (1) csv2def (1) faq (3) icon (2) lorem (5) addcsshead (1) flexauto (1) jcontent-info (1)