Items list (Liste de liens)
Les listes de liens permettent de présenter à l’utilisateur une série de liens présentée sous forme de liste verticale.
Usage
Une liste de liens met en avant des liens sous forme d’un bloc. Le plus souvent, ces liens sont annexes au contenu en cours de consultation et sont apparentés d’une façon ou d’une autre à celui-ci.
- Attention, ce composant n’est pas à utiliser pour construire un menu.
- Chaque lien est un composant Links de type « lien par défaut ».
- Chaque lien peut être précédé d’une icône.
- Il est possible de supprimer « la ligne » en dessous du dernier élément d’une liste.
Bonnes pratiques
- Un titre de type contenu non éditorial de niveau 2 est généralement présent au-dessus de ce composant liste de liens afin de définir à quoi correspond cette liste.
- Dans une liste de liens, le nombre de liens est de 2 à 6 maximum.
Style & code
Dépendances :
- Classe
sipaui
sur un parent (par exemple le<body>
), - Helpers (classes d’aide),
- composant Links (liens).
Le composant « liste de liens » consiste en une simple liste HTML avec des liens dans chaque <li>
, plus éventuellement une icône.
Standard
Pour construire ce composant il suffit de créer une liste avec la classe su-items-list
sur le <ol>
et de mettre des liens dans les <li>
. Cette liste peut être construite indifféremment avec la balise <ul>
ou la balise <ol>
, il s’agit juste d’un point de vue sémantique : la liste comporte-t-elle une notion d’ordonnancement ? Si oui, préférez <ol>
…
<ol class="su-items-list">
<li><a href="javascript:;">Lien 1</a></li>
<li><a href="javascript:;">Lien 2</a></li>
<li><a href="javascript:;">Lien 3</a></li>
<li><a href="javascript:;">Lien 4</a></li>
<li><a href="javascript:;">Lien 5 avec texte long. 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.</a></li>
<li><a href="javascript:;">Lien 6</a></li>
</ol>
Avec icônes
Il est possible d’ajouter un pictogramme devant le lien. Ce peut être une icône issue de la fonte d’icône de SipaUI, un SVG inline (dont le code est inclus directement dans le HTML) ou un drapeau SipaUI.
Avec icône SipaUI
<ol class="su-items-list">
<li><a href="javascript:;"><i class="su-icon">podcast</i>Lien 1</a></li>
<li><a href="javascript:;"><i class="su-icon">calendrier</i>Lien 2</a></li>
<li><a href="javascript:;"><i class="su-icon">galerie</i>Lien 3</a></li>
</ol>
Avec SVG inline
<ol class="su-items-list">
<li><a href="javascript:;">
<svg viewBox="0 0 17 24" width="17" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" fill-rule="evenodd">
<path d="M14.348 2.399C12.677.847 10.72.035 8.5.035c-2.387 0-4.416.836-5.872 2.387C1.076 4.092.265 6.05.265 8.271c0 1.073.19 2.123.526 2.911l.023.048c.024.024 1.695 3.151 3.39 6.206C7.832 24 7.951 24 8.5 24c.549 0 .669 0 4.297-6.564 1.694-3.079 3.365-6.182 3.388-6.206l.025-.048c.334-.788.525-1.838.525-2.911 0-2.364-.835-4.393-2.387-5.872zm.549 8.21c-2.005 3.748-5.156 9.5-6.397 11.506-1.241-2.03-4.391-7.758-6.397-11.506-.262-.62-.406-1.456-.406-2.315 0-1.838.669-3.485 1.957-4.869C4.848 2.135 6.495 1.491 8.5 1.491c1.838 0 3.485.67 4.87 1.958 1.289 1.194 1.933 2.84 1.933 4.845 0 .86-.144 1.694-.406 2.315z"/>
<path d="M8.5 3.807c-1.218 0-2.244.43-3.127 1.337-.907.906-1.336 1.933-1.336 3.127 0 1.217.429 2.242 1.336 3.126.908.907 1.934 1.337 3.127 1.337 1.218 0 2.244-.43 3.126-1.337.908-.907 1.337-1.934 1.337-3.126 0-1.218-.43-2.244-1.337-3.127-.882-.907-1.908-1.337-3.126-1.337zm2.125 6.612c-.62.62-1.313.906-2.125.906-.835 0-1.503-.285-2.124-.906-.62-.62-.907-1.313-.907-2.125 0-.835.287-1.504.907-2.125.62-.62 1.312-.906 2.124-.906s1.504.286 2.125.906c.62.62.906 1.313.906 2.125s-.286 1.48-.906 2.125z"/>
</svg>Lien 1</a>
</li>
<li><a href="javascript:;">
<svg viewBox="0 0 17 24" width="17" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" fill-rule="evenodd">
<path d="M14.348 2.399C12.677.847 10.72.035 8.5.035c-2.387 0-4.416.836-5.872 2.387C1.076 4.092.265 6.05.265 8.271c0 1.073.19 2.123.526 2.911l.023.048c.024.024 1.695 3.151 3.39 6.206C7.832 24 7.951 24 8.5 24c.549 0 .669 0 4.297-6.564 1.694-3.079 3.365-6.182 3.388-6.206l.025-.048c.334-.788.525-1.838.525-2.911 0-2.364-.835-4.393-2.387-5.872zm.549 8.21c-2.005 3.748-5.156 9.5-6.397 11.506-1.241-2.03-4.391-7.758-6.397-11.506-.262-.62-.406-1.456-.406-2.315 0-1.838.669-3.485 1.957-4.869C4.848 2.135 6.495 1.491 8.5 1.491c1.838 0 3.485.67 4.87 1.958 1.289 1.194 1.933 2.84 1.933 4.845 0 .86-.144 1.694-.406 2.315z"/>
<path d="M8.5 3.807c-1.218 0-2.244.43-3.127 1.337-.907.906-1.336 1.933-1.336 3.127 0 1.217.429 2.242 1.336 3.126.908.907 1.934 1.337 3.127 1.337 1.218 0 2.244-.43 3.126-1.337.908-.907 1.337-1.934 1.337-3.126 0-1.218-.43-2.244-1.337-3.127-.882-.907-1.908-1.337-3.126-1.337zm2.125 6.612c-.62.62-1.313.906-2.125.906-.835 0-1.503-.285-2.124-.906-.62-.62-.907-1.313-.907-2.125 0-.835.287-1.504.907-2.125.62-.62 1.312-.906 2.124-.906s1.504.286 2.125.906c.62.62.906 1.313.906 2.125s-.286 1.48-.906 2.125z"/>
</svg>Lien 2</a>
</li>
<li><a href="javascript:;">
<svg viewBox="0 0 17 24" width="17" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/" fill-rule="evenodd">
<path d="M14.348 2.399C12.677.847 10.72.035 8.5.035c-2.387 0-4.416.836-5.872 2.387C1.076 4.092.265 6.05.265 8.271c0 1.073.19 2.123.526 2.911l.023.048c.024.024 1.695 3.151 3.39 6.206C7.832 24 7.951 24 8.5 24c.549 0 .669 0 4.297-6.564 1.694-3.079 3.365-6.182 3.388-6.206l.025-.048c.334-.788.525-1.838.525-2.911 0-2.364-.835-4.393-2.387-5.872zm.549 8.21c-2.005 3.748-5.156 9.5-6.397 11.506-1.241-2.03-4.391-7.758-6.397-11.506-.262-.62-.406-1.456-.406-2.315 0-1.838.669-3.485 1.957-4.869C4.848 2.135 6.495 1.491 8.5 1.491c1.838 0 3.485.67 4.87 1.958 1.289 1.194 1.933 2.84 1.933 4.845 0 .86-.144 1.694-.406 2.315z"/>
<path d="M8.5 3.807c-1.218 0-2.244.43-3.127 1.337-.907.906-1.336 1.933-1.336 3.127 0 1.217.429 2.242 1.336 3.126.908.907 1.934 1.337 3.127 1.337 1.218 0 2.244-.43 3.126-1.337.908-.907 1.337-1.934 1.337-3.126 0-1.218-.43-2.244-1.337-3.127-.882-.907-1.908-1.337-3.126-1.337zm2.125 6.612c-.62.62-1.313.906-2.125.906-.835 0-1.503-.285-2.124-.906-.62-.62-.907-1.313-.907-2.125 0-.835.287-1.504.907-2.125.62-.62 1.312-.906 2.124-.906s1.504.286 2.125.906c.62.62.906 1.313.906 2.125s-.286 1.48-.906 2.125z"/>
</svg>Lien 3</a>
</li>
</ol>
N. B. 1 – SipaUI redéfini la couleur des SVG afin d’avoir des pictos de couleur cohérente. Toutefois, si vous intégrez des logos, cela posera problème. Il vous faudra alors ajouter la classe su-preserve-colors
sur la liste, à côté de su-items-list
pour éviter ce problème.
N. B. 2 – SipaUI redéfini la taille des SVG afin d’avoir des pictos de taille cohérente. Toutefois, si vous voulez intégrer des icônes d’une autre taille, cela posera problème. Il vous faudra alors ajouter la classe su-preserve-size
sur la liste, à côté de su-items-list
pour éviter ce problème.
Avec des drapeaux
<ol class="su-items-list">
<ol class="su-items-list">
<li>
<a href="javascript:;" class="surcharge-storybook su-truncate-1"><span class="su-flag-ni"></span>Nicaragua</a>
</li>
<li>
<a href="javascript:;" class="surcharge-storybook su-truncate-1"><span class="su-flag-ad"></span>Andorre</a>
</li>
<li>
<a href="javascript:;" class="surcharge-storybook su-truncate-1"><span class="su-flag-fr"></span>France</a>
</li>
</ol>
</ol>
Avec troncature
Vous pouvez forcer une hauteur de ligne maximum avec troncature en ajoutant l’une de ces 3 classes : su-truncate-1
, su-truncate-2
, ou su-truncate-3
sur le contenu texte.
<div style="width: 200px">
<ol class="su-items-list">
<li><a href="javascript:;" class="su-truncate-1">Lien long 1 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</a></li>
<li><a href="javascript:;" class="su-truncate-1">Lien 2</a></li>
<li><a href="javascript:;" class="su-truncate-1">Lien long 3 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
</ol>
</div>
Sans séparateur de fin
Vous pouvez supprimer le séparateur de fin en ajoutant la classe su-no-ending-separator
à côté de la classe su-items-list
.
<ol class="su-items-list su-no-ending-separator">
<li><a href="javascript:;">Lien long 1 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</a></li>
<li><a href="javascript:;">Lien 2</a></li>
<li><a href="javascript:;">Lien long 3 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
</ol>
En colonnes
Il est possible d’afficher la liste de liens en colonnes (tout le temps ou juste en desktop, cf. les Helpers) en ajoutant les classes su-columns-…
ou su-columns-desktop-…
(où « … » est un chiffre entre 2 et 4) à côté de la classe su-items-list
.
<ol class="su-items-list su-columns-3">
<li><a href="javascript:;">Lien long 1 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</a></li>
<li><a href="javascript:;">Lien 2</a></li>
<li><a href="javascript:;">Lien long 3 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
<li><a href="javascript:;">Lien 4</a></li>
<li><a href="javascript:;">Lien long 5 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
<li><a href="javascript:;">Lien long 6 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</a></li>
</ol>
Exemple en colonnes avec troncature et suppression de la dernière séparation de la colonne
<ol class="su-items-list su-columns-4 su-no-ending-separator">
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien long 1 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien 2</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien long 3 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien 4</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien long 5 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien long 6 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien long 7 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien 8</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien long 9 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</a></li>
<li><a href="javascript:;" class="surcharge-storybook su-truncate-1">Lien long 10 Lorem ipsum dolor sit amet, consectetur adipisicing elit.</a></li>
</ol>
Liste des classes disponibles
su-items-list
su-no-ending-separator
su-preserve-colors
Classes annexes
su-truncate-1
(dépendant des Helpers (classes d’aide))su-truncate-2
(dépendant des Helpers (classes d’aide))su-truncate-3
(dépendant des Helpers (classes d’aide))su-columns-2
(dépendant des Helpers (classes d’aide))su-columns-3
(dépendant des Helpers (classes d’aide))su-columns-4
(dépendant des Helpers (classes d’aide))su-columns-desktop-2
(dépendant des Helpers (classes d’aide))su-columns-desktop-3
(dépendant des Helpers (classes d’aide))su-columns-desktop-4
(dépendant des Helpers (classes d’aide))su-flag-…
(dépendant du composant Flags (drapeaux))