Skip to content

CSS: tray

.instui-tray — Panel yang dipasang di tepi yang meluncur masuk dari sisi mana pun; sebuah [popover] atau <dialog> bawaan.

Penempatan awal/akhir ditentukan terhadap inset-inline (logis, peka arah); transform slide-in tercermin otomatis di bawah elemen induk [dir="rtl"], sehingga tidak diperlukan markup tambahan untuk tata letak kanan-ke-kiri.

Source: tray.css

Aksesibilitas

Tray adalah permukaan dialog atau popover, jadi beri nama dengan aria-label atau aria-labelledby, dan kontrol penutupnya membawa sebuah aria-label (the .instui-close-button in the example uses aria-label="Close").

Penggunaan

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

Contoh

html
<div class="instui-tray -placement-end -size-sm">
  <span class="instui-heading -level-h3">Filters</span>
  <p class="-size-sm">A tray slides in from the start edge and fills the viewport height.</p>
</div>
<button class="instui-button -toggle">toggle tray</button>

Struktur

text
.instui-tray
  close-button (component, 0..1)
  ‹content›
flowchart TD n0[".instui-tray"]:::cssdoc-root n1(["close-button"]):::cssdoc-component n2[/"‹content›"/]:::cssdoc-slot n0 -.->|0..1| n1 n0 --> n2 click n1 "/api/css/close-button.md" classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

Modifikator

ModifikatorDeskripsi
.-placement-bottomPasang ke tepi bawah.
.-placement-endPasang ke tepi akhir (inline-end).
.-placement-start(default) Pasang ke tepi awal (inline-start).
.-placement-topPasang ke tepi atas.
.-size-largeBesar. Alias bentuk panjang dari -size-lg.
.-size-lgBesar.
.-size-md(default) Sedang.
.-size-medium(default) Sedang. Alias bentuk panjang dari -size-md.
.-size-regularTidak disarankan — use .-size-md.
.-size-smKecil.
.-size-smallKecil. Alias bentuk panjang dari -size-sm.
.-size-x-largeEkstra besar. Alias bentuk panjang dari -size-xl.
.-size-x-smallEkstra kecil. Alias bentuk panjang dari -size-xs.
.-size-xlEkstra besar.
.-size-xsEkstra kecil.

Kondisi

TipeKueriDeskripsi
supports(transition-behavior: allow-discrete)

Token yang digunakan

TokenTipeNilai
--instui-component-tray-background-color<color>LightDarklight-dark(#ffffff, #1C222B)
--instui-component-tray-border-color<color>LightDarklight-dark(#E8EAEC, #334450)
--instui-component-tray-border-width<length>0.0625rem
--instui-component-tray-padding<length>1.5rem
--instui-component-tray-width-lg<length>48em
--instui-component-tray-width-md<length>30em
--instui-component-tray-width-sm<length>20em
--instui-component-tray-width-xl<length>62em
--instui-component-tray-width-xs<length>16em
--instui-component-tray-z-index<integer>9999
--instui-elevation-topmostnone | <shadow>#
--tray-slide-x-100%
--tray-slide-y0%

Dukungan peramban

  • Membuka dengan API [popover] dan @starting-style bawaan; slide-in berada di belakang penjaga @supports (transition-behavior: allow-discrete), sehingga browser tanpa fitur itu tetap membuka tray, hanya tanpa efek slide.

Subkomponen

Terkait

  • modal — Pola overlay yang dapat ditutup sama, dipusatkan alih-alih dipasang di tepi.
  • popover — Permukaan lapisan-atas generik yang menjadi dasar bagi ini.