"Show more" button (Bouton « Voir plus »)
Le bouton Voir + est un composant dynamique permettant d'afficher la suite d'un contenu dans un espace réduit grâce à un système de « Voir + / Voir - ».
Usage
- Le bouton Voir + permet aux utilisateurs de lire l’intégralité d’un contenu en appuyant sur le bouton « Voir + » et de le masquer en appuyant sur le bouton « Voir - ».
- Il est souvent utilisé sur mobile pour optimiser l’espace d’affichage.
- Il est important de tenir compte du fait qu’un utilisateur peut ne pas lire le contenu caché.
Style & code
Dépendances :
- Classe
sipaui
sur un parent (par exemple le<body>
), - composant Buttons (boutons).
Standard
Pour designer ce composant comme attendu il faut une suite de classes issues du composant bouton : su-button
, su-secondary
, su-small
, su-action-icon
auxquelles il faut rajouter la classe su-show-more
.
Pour activer son changement en « Voir - » au clic, il faut utiliser le JS data-sutoggleclass
de façon à ajouter la classe su-active
au bouton.
<button class="su-button su-secondary su-small su-action-icon su-show-more" data-sutoggleclass='{"klass":"su-active"}'>
<span>
Voir <i class="su-icon">plus</i>
</span>
<span>
Voir <i class="su-icon">moins</i>
</span>
</button>
Exemple de mise en situation
Dans cet exemple, le bouton sert à déployer un paragraphe au-dessus. Il faut donc ajouter {"sel":"#exemple","klass":"ouvert"}
au su-toggleclass
pour ajouter la classe ouvert
au paragraphe portant l’ID exemple
(les CSS gérant ce déploiement seront à faire de votre côté).
Attention, comme il y a plusieurs « toggles » à gérer, ne pas oublier les []
encadrant ceux-ci… (cf. toggleclass pour en savoir plus.)
N. B. – La classe su-block-center
a été ajoutée au bouton pour le centrer.
<style>
#exemple {
height: 40px;
overflow: hidden;
}
#exemple.ouvert {
height: auto;
}
</style>
<p id="exemple">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<button class="su-button su-secondary su-small su-action-icon su-show-more su-block-center" data-sutoggleclass='[{"klass":"su-active"}, {"sel":"#exemple","klass":"ouvert"}]'>
<span>
Voir <i class="su-icon">plus</i>
</span>
<span>
Voir <i class="su-icon">moins</i>
</span>
</button>
Version sur fond sombre
Pour gérer le cas sur fond foncé, il faut ajouter à côté, ou au-dessus de la classe su-show-more
la classe su-negative
.
<div style="background: DimGray; padding: 10px">
<button class="su-button su-secondary su-small su-action-icon su-show-more su-negative" data-sutoggleclass='{"klass":"su-active"}'>
<span>
Voir <i class="su-icon">plus</i>
</span>
<span>
Voir <i class="su-icon">moins</i>
</span>
</button>
</div>
Liste des classes disponibles
su-show-more
Classes annexes
su-button
(dépendant du composant Buttons (boutons))su-secondary
(dépendant du composant Buttons (boutons))su-small
(dépendant du composant Buttons (boutons))su-action-icon
(dépendant du composant Buttons (boutons))su-negative
(dépendant du composant Buttons (boutons))