Zum Inhalt springen
Navigation
Knoten·Knotenarten

stack

Ein Element, das seine Kinder mit deklariertem Abstand stapelt. Kein neues Layout-Modell, sondern ein fest verdrahtetes: Flexbox auf fester Fläche.

Syntax

json
{
  "$": "stack",
  "tag"?: `a` … (40 Werte),
  "direction"?: `column` … (2 Werte),
  "gap": Wert,
  "unit"?: Text,
  "align"?: Wert,
  "justify"?: Wert,
  "attrs"?: Attribut[],
  "style"?: Style-Eintrag[],
  "children"?: Knoten[],
  "role"?: `headline` … (6 Werte),
  "motion"?: Bewegung,
  "when"?: Bedingung
}

Felder 12

FelderPflichtForm
tagoptionala · b · br · circle · div · ellipse · em · g · h1 · h2 · h3 · h4 · h5 · h6 · hr · i · img · li · line · ol · p · path · polygon · polyline · rect · s · section · small · span · strong · svg · table · tbody · td · tfoot · th · thead · tr · u · ul
directionoptionalcolumn · row
gapPflichtWert
unitoptionalText
alignoptionalWert
justifyoptionalWert
attrsoptionalAttribut[]
styleoptionalStyle-Eintrag[]
childrenoptionalKnoten[]
roleoptionalheadline · body · cta · legal · source · caption
motionoptionalBewegung
whenoptionalBedingung

Beispiel

Eingabe
{
  "$": "stack",
  "tag": "div",
  "direction": "column",
  "gap": 24,
  "children": [
    {
      "$": "text",
      "value": {
        "$": "state",
        "path": "slots.head"
      }
    },
    {
      "$": "text",
      "value": {
        "$": "state",
        "path": "slots.sub"
      }
    }
  ]
}
Ausgabe
<div style="display:flex;flex-direction:column;gap:24px;">Sommer-SaleDrei Wochen, alles reduziert. Nur online.</div>
Ein Abstand am Container statt eines `margin-bottom` an jedem Kind. Gerechnet hat es renderDefinition() aus @trybe/static-post-templates — dieselbe Funktion wie im Studio-Canvas und im PNG-Export.
Der Zustand, gegen den gerendert wurde
{
  "slots": {
    "topline": "Sommer 2026",
    "head": "Sommer-Sale",
    "sub": "Drei Wochen, alles reduziert. Nur online.",
    "sig": "@trybe",
    "fmt": "1:1",
    "btn": "Jetzt sichern"
  },
  "mark": {
    "word": "Sale",
    "color": "#8a2f24"
  },
  "liste": [
    "Espresso",
    "Cortado",
    "Filter"
  ],
  "stufe": "zwei",
  "sale": true,
  "zeigeBadge": true,
  "kopfGroesse": 104
}

Verwandt

Quelle: buildStencilJsonSchema(registry).definitions.node — der Satz oben ist geschrieben, alles andere erzeugt