Skip to content

CSS: tray

.instui-tray — Een aan de rand vastgezet paneel dat vanaf elke zijde naar binnen schuift; een native [popover] of <dialog>.

Start-/eindplaatsingen lossen op ten opzichte van inset-inline (logisch, richtingbewust); de slide-in-transformatie wordt automatisch gespiegeld onder een voorouder [dir="rtl"], dus geen extra markup nodig voor rechts-naar-links lay-outs.

Source: tray.css

Toegankelijkheid

De tray is een dialoog- of popover-oppervlak, dus benoem het met aria-label of aria-labelledby, en de sluitknop heeft een aria-label (de .instui-close-button in het voorbeeld gebruikt aria-label="Close").

Gebruik

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

Voorbeelden

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>

Structuur

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;

Modifiers

ModifierBeschrijving
.-placement-bottomBevestig aan de onderrand.
.-placement-endBevestig aan de eindrand (inline-end).
.-placement-start(standaard) Bevestig aan de startrand (inline-start).
.-placement-topBevestig aan de bovenrand.
.-size-largeGroot. Langvormig alias van -size-lg.
.-size-lgGroot.
.-size-md(standaard) Medium.
.-size-medium(standaard) Medium. Langvormig alias van -size-md.
.-size-regularVerouderd — use .-size-md.
.-size-smKlein.
.-size-smallKlein. Langvormig alias van -size-sm.
.-size-x-largeExtra groot. Langvormig alias van -size-xl.
.-size-x-smallExtra klein. Langvormig alias van -size-xs.
.-size-xlExtra groot.
.-size-xsExtra klein.

Voorwaarden

TypeZoekopdrachtBeschrijving
supports(transition-behavior: allow-discrete)

Gebruikte tokens

TokenTypeWaarde
--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%

Browserondersteuning

  • Opent met de native [popover] API en @starting-style; de slide-in staat achter een @supports (transition-behavior: allow-discrete)-beveiliging, dus browsers zonder deze functie openen de tray nog steeds, alleen zonder de slide.

Subcomponenten

Gerelateerd

  • modal — Hetzelfde wegklikbare overlay-patroon, gecentreerd in plaats van aan de rand vastgezet.
  • popover — Het generieke toplaag-oppervlak waarop dit is gebouwd.