Repo

Usage

User
<span class="zui-avatar">
  <span class="zui-avatar-fallback"><i class="ph ph-user" aria-hidden="true"></i></span>
  <img
    class="zui-avatar-image"
    src="/avatar.webp"
    alt="User"
    onerror="this.setAttribute('data-error', '')"
  />
</span>

Fallback

When no src is provided or the image fails to load, the fallback content is shown. If no fallback is specified, a default user icon is displayed.

Default icon fallback

<span class="zui-avatar">
<span class="zui-avatar-fallback"><i class="ph ph-user" aria-hidden="true"></i></span>
</span>

Initials fallback

AB
<span class="zui-avatar">
<span class="zui-avatar-fallback">AB</span>
</span>

Sizes

ABABAB
<span class="zui-avatar zui-avatar-size-sm">
<span class="zui-avatar-fallback">AB</span>
</span>
<span class="zui-avatar">
<span class="zui-avatar-fallback">AB</span>
</span>
<span class="zui-avatar zui-avatar-size-lg">
<span class="zui-avatar-fallback">AB</span>
</span>

Shapes

ABABABAB
<span class="zui-avatar">
<span class="zui-avatar-fallback">AB</span>
</span>
<span class="zui-avatar zui-avatar-shape-hard">
<span class="zui-avatar-fallback">AB</span>
</span>
<span class="zui-avatar zui-avatar-shape-soft">
<span class="zui-avatar-fallback">AB</span>
</span>
<span class="zui-avatar zui-avatar-shape-squircle">
<span class="zui-avatar-fallback">AB</span>
</span>

CSS custom properties

Set these on :root, on a wrapper, or on the element. See Component custom properties.

Property Default Description
--zui-avatar-size 2.5rem Width and height. Sizes sm and lg set their own.
--zui-avatar-radius var(--radius-full) Border radius
--zui-avatar-font-size 90% Font size of the fallback text
--zui-avatar-bg var(--color-surface) Background colour
--zui-avatar-border var(--color-border) Border colour
--zui-avatar-fg var(--color-text) Fallback text colour

Theme

Copy this CSS to your project: