Skip to content

CSS: avatar

.instui-avatar · stable — Автопортрет користувача, що показує ініціали або зображення, за замовчуванням круглий.

За замовчуванням палітра підфарбовує ініціали на прозорій поверхні; -has-inverse-color заповнює поверхню кольором і розміщує ініціали на кольоровому фоні. Варіант -color-ai завжди заповнює градієнтом від фіолетового до бірюзового. Для повного відображуваного імені помістіть його в content (щоб воно залишалося в дереві доступності) і додайте data-initials="XX" для компактного відображення — справжній текст саме те, що оголошує екранний рідер. Без data-initials вміст, що виходить за межі, просто обрізається (без трикрапки); обгорніть його в .name для точного обрізання до першої літери, або розділіть на .first-name/.last-name для двох обрізаних букв (будь-яку з половин можна опустити, а інша залишиться по центру).

Source: avatar.css

TIP

Розширення JS — CSS цього компонента рендерить і працює самостійно; поєднайте його з @pantoken/interactions, щоб додати інтерактивну поведінку. Див. таблицю модифікаторів нижче.

Доступність

Надайте зображенню-аватару осмислений alt (ім'я особи), а не загальний «avatar»; для аватарів тільки з ініціалами надавайте перевагу справжньому імені (звичайний текст, data-initials, .name або .first-name/.last-name) замість попередньо скорочених літер, щоб допоміжні технології оголошували реальне ім'я.

Використання

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

Приклади

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>

Структура

Аватар показує один із варіантів: <img>, текст ініціалів (bare/data-initials), оболонку .name або пару .first-name/.last-name.

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;

Модифікатори

МодифікаторОпис
.-color-accent1Застаріле — use .-color-blue.
.-color-accent2Застаріле — use .-color-green.
.-color-accent3Застаріле — use .-color-red.
.-color-accent4Застаріле — use .-color-orange.
.-color-accent5Застаріле — use .-color-ash.
.-color-accent6Застаріле — use .-color-grey.
.-color-aiКолір палітри з акцентом ШІ.
.-color-ashКолір палітри Ash.
.-color-blueКолір палітри Blue.
.-color-greenКолір палітри Green.
.-color-greyКолір палітри Grey.
.-color-orangeКолір палітри Orange.
.-color-redКолір палітри Red.
.-has-inverse-colorВикористовувати інверсний (на темному фоні) колір тексту.
.-shape-rectangleКвадратна (прямокутна) форма замість кола.
.-show-borderAlias — maps to .-show-border-always.
.-show-border-alwaysПримусово увімкнути обвідну рамку, навіть поверх зображення або інверсного заповнення.
.-show-border-neverПримусово вимкнути обвідну рамку.
.-size-2xlНа два розміри більший.
.-size-2xsНа два розміри менший.
.-size-largeВеликий. Довга форма для -size-lg.
.-size-lgВеликий.
.-size-mdСередній (за замовчуванням).
.-size-mediumСередній (за замовчуванням). Довга форма для -size-md.
.-size-smМалий.
.-size-smallМалий. Довга форма для -size-sm.
.-size-x-largeДуже великий. Довга форма для -size-xl.
.-size-x-smallДуже малий. Довга форма для -size-xs.
.-size-xlДуже великий.
.-size-xsДуже малий.
.-size-xx-largeНа два розміри більший. Довга форма для -size-2xl.
.-size-xx-smallНа два розміри менший. Довга форма для -size-2xs.

Частини

ЧастинаОпис
.first-nameНеобов'язково (в парі з .last-name): обгортає задане ім'я, обрізане до першої літери.
.last-nameНеобов'язково (в парі з .first-name): обгортає прізвище, обрізане до першої літери.
.nameOptional: wrap the full name to clip it to a single leading letter without data-initials or JS.

Псевдоелементи

ПсевдоелементОпис
::before

Використано токенів

TokenТипЗначення
--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

Пов'язані

  • byline — Може містити аватар як провідний елемент.