Skip to content

CSS: tray

.instui-tray — En kantfäst panel som skjuter in från vilken sida som helst; en inbyggd [popover] eller <dialog>.

Placeringar för start/slut bestäms i förhållande till inset-inline (logisk, riktning‑medveten); slide‑in‑transformen speglas automatiskt under en överordnad [dir="rtl"], så ingen extra markup behövs för höger‑till‑vänster‑layouter.

Source: tray.css

Tillgänglighet

Tråget är en dialog‑ eller popover‑yta, så namnge det med aria-label eller aria-labelledby, och dess stängningskontroll bär en aria-label (den .instui-close-button i exemplet använder aria-label="Close").

Användning

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

Exempel

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;

Modifierare

ModifierareBeskrivning
.-placement-bottomFäst vid nederkanten.
.-placement-endFäst vid slutkanten (inline‑end).
.-placement-start(standard) Fäst vid startkanten (inline‑start).
.-placement-topFäst vid övre kanten.
.-size-largeStor. Långformigt alias för -size-lg.
.-size-lgStor.
.-size-md(standard) Medium.
.-size-medium(standard) Medium. Långformsalias för -size-md.
.-size-regularFöråldrad — use .-size-md.
.-size-smLiten.
.-size-smallLiten. Långformigt alias för -size-sm.
.-size-x-largeExtra stor. Långformigt alias för -size-xl.
.-size-x-smallExtra liten. Långformigt alias för -size-xs.
.-size-xlExtra stor.
.-size-xsExtra liten.

Villkor

TypFrågaBeskrivning
supports(transition-behavior: allow-discrete)

Förbrukade tokens

TokenTypVärde
--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%

Webbläsarstöd

  • Öppnas med den inbyggda [popover]‑API:n och @starting-style; slide‑in ligger bakom en @supports (transition-behavior: allow-discrete)‑skydd, så webbläsare utan detta stöd öppnar fortfarande tråget, bara utan slide.

Underkomponenter

Relaterat

  • modal — Samma avvisbara överläggsmönster, centrerat istället för kantfäst.
  • popover — Den generiska översta ytan som detta bygger på.