Skip to content

CSS: avatar

.instui-avatar · stable — Un avatar utilisateur affichant des initiales ou une image, circulaire par défaut.

Par défaut, la teinte de la palette colore les initiales sur une surface transparente ; -has-inverse-color remplit la surface avec la couleur et place les initiales sur la couleur. La variante -color-ai remplit toujours avec le dégradé violet→sea. Pour un nom d'affichage complet, mettez-le dans le contenu (pour qu'il reste dans l'arbre d'accessibilité) et ajoutez data-initials="XX" pour l'affichage visuel compact — le texte réel est ce que lit un lecteur d'écran. Sans data-initials, le contenu débordant est simplement découpé net (pas d'ellipse) ; enveloppez-le dans .name pour un découpage précis ne montrant que la première lettre, ou répartissez-le en .first-name/.last-name pour deux lettres découpées (l'une ou l'autre moitié peut être omise et l'autre restera centrée).

Source: avatar.css

TIP

Amélioration JS — Le CSS de ce composant se rend et fonctionne seul ; associez-le à @pantoken/interactions pour ajouter le comportement interactif. Voir le tableau des modificateurs ci‑dessous.

Accessibilité

Donnez à un avatar image un alt significatif (le nom de la personne), pas un générique « avatar » ; pour les avatars uniquement avec initiales, préférez le contenu du vrai nom (texte brut, data-initials, .name ou .first-name/.last-name) aux lettres pré-abbrégées, afin que les technologies d'assistance annoncent le vrai nom.

Utilisation

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/avatar.css";

Exemples

html
<span class="instui-avatar --me-sm">LH</span>
<span class="instui-avatar -color-ai --me-sm">AI</span>
<span class="instui-avatar --me-sm" data-initials="NV">Dr. Nguyen Van Thoc</span>
<span class="instui-avatar"><span class="name">Miguel Sanchez</span></span>
<span class="instui-avatar"><span class="first-name">Miguel</span> <span class="last-name">Sanchez</span></span>

Structure

The avatar shows one of: an <img>, bare/data-initials text, a .name wrap, or a .first-name/.last-name pair.

text
.instui-avatar
  img (0..1)
  .name (0..1)
  .first-name (0..1)
  .last-name (0..1)
flowchart TD n0[".instui-avatar"]:::cssdoc-root n1("img"):::cssdoc-part n2(".name"):::cssdoc-part n3(".first-name"):::cssdoc-part n4(".last-name"):::cssdoc-part n0 -.->|0..1| n1 n0 -.->|0..1| n2 n0 -.->|0..1| n3 n0 -.->|0..1| n4 classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

Modificateurs

ModificateurDescription
.-color-accent1Obsolète — use .-color-blue.
.-color-accent2Obsolète — use .-color-green.
.-color-accent3Obsolète — use .-color-red.
.-color-accent4Obsolète — use .-color-orange.
.-color-accent5Obsolète — use .-color-ash.
.-color-accent6Obsolète — use .-color-grey.
.-color-aiCouleur de la palette accent AI.
.-color-ashCouleur de la palette Ash.
.-color-blueCouleur de la palette Blue.
.-color-greenCouleur de la palette Green.
.-color-greyCouleur de la palette Grey.
.-color-orangeCouleur de la palette Orange.
.-color-redCouleur de la palette Red.
.-has-inverse-colorUtiliser la couleur de texte inverse (sur fond sombre).
.-shape-rectangleForme carrée (rectangulaire) au lieu d'un cercle.
.-show-borderAlias — maps to .-show-border-always.
.-show-border-alwaysForcer l'anneau bordure activé, même sur une image ou un remplissage inverse.
.-show-border-neverForcer l'anneau bordure désactivé.
.-size-2xlDeux tailles plus grandes.
.-size-2xsDeux tailles plus petites.
.-size-largeGrand. Alias longue forme de -size-lg.
.-size-lgGrand.
.-size-mdMoyen (par défaut).
.-size-mediumMoyen (par défaut). Alias longue forme de -size-md.
.-size-smPetit.
.-size-smallPetit. Alias longue forme de -size-sm.
.-size-x-largeExtra large. Alias longue forme de -size-xl.
.-size-x-smallExtra petit. Alias longue forme de -size-xs.
.-size-xlTrès grand.
.-size-xsExtra petit.
.-size-xx-largeDeux tailles plus grandes. Alias longue forme de -size-2xl.
.-size-xx-smallDeux tailles plus petites. Alias longue forme de -size-2xs.

Parties

PartieDescription
.first-nameOptionnel (s'apparie avec .last-name) : enveloppe le nom donné, découpé à sa lettre initiale.
.last-nameOptionnel (s'apparie avec .first-name) : enveloppe le nom de famille, découpé à sa lettre initiale.
.nameOptional: wrap the full name to clip it to a single leading letter without data-initials or JS.

Pseudo-éléments

Pseudo-élémentDescription
::before

Jetons consommés

TokenTypeValeur
--instui-component-avatar-ai-bottom-gradient-color<color>#00828E
--instui-component-avatar-ai-top-gradient-color<color>#9E58BD
--instui-component-avatar-ash-background-color<color>LightDarklight-dark(#273540, #1C222B)
--instui-component-avatar-ash-text-color<color>LightDarklight-dark(#273540, #C7CACD)
--instui-component-avatar-background-color<color>LightDarklight-dark(#ffffff, #10141A)
--instui-component-avatar-blue-background-color<color>#2B7ABC
--instui-component-avatar-blue-text-color<color>LightDarklight-dark(#2871AF, #7FB4F1)
--instui-component-avatar-border-color<color>LightDarklight-dark(#8D959F, #6A7883)
--instui-component-avatar-border-width-md<length>0.125rem
--instui-component-avatar-border-width-sm<length>0.0625rem
--instui-component-avatar-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-avatar-font-size-lg<length>1.25rem
--instui-component-avatar-font-size-md<length>1rem
--instui-component-avatar-font-size-sm<length>0.875rem
--instui-component-avatar-font-size-xl<length>1.75rem
--instui-component-avatar-font-size-xs<length>0.75rem
--instui-component-avatar-font-size2xl<length>2.5rem
--instui-component-avatar-font-size2xs<length>0.75rem
--instui-component-avatar-font-weight<integer>600
--instui-component-avatar-green-background-color<color>#03893D
--instui-component-avatar-green-text-color<color>LightDarklight-dark(#037D37, #61C378)
--instui-component-avatar-grey-background-color<color>LightDarklight-dark(#4A5B68, #576773)
--instui-component-avatar-grey-text-color<color>LightDarklight-dark(#4A5B68, #F2F4F5)
--instui-component-avatar-orange-background-color<color>#CF4A00
--instui-component-avatar-orange-text-color<color>LightDarklight-dark(#BB4200, #FF905A)
--instui-component-avatar-rectangle-radius<length>0.25rem
--instui-component-avatar-red-background-color<color>#E62429
--instui-component-avatar-red-text-color<color>LightDarklight-dark(#CF1F24, #FA917F)
--instui-component-avatar-size-lg<length>3.5rem
--instui-component-avatar-size-md<length>3rem
--instui-component-avatar-size-sm<length>2.5rem
--instui-component-avatar-size-xl<length>4rem
--instui-component-avatar-size-xs<length>2rem
--instui-component-avatar-size2xl<length>5rem
--instui-component-avatar-size2xs<length>1.5rem
--instui-component-avatar-text-on-color<color>#ffffff

Liés

  • byline — Can host an avatar as its leading hero figure.