---
title: stack
description: A layering container: children render on top of each other in one shared cell, paint order child order, with zero position props.
status: shipped
url: https://getairframe.com/framewerk/reference/nodes/stack
---

> Part of the Framewerk docs. Index of every page: /framewerk/llms.txt

# `stack`

A layering container: children render on top of each other in one shared cell, paint order child order, with zero position props.

## Example

**stack**

```json
{
  "id": "s",
  "layout": {
    "_id": "root",
    "type": "stack",
    "padding": 16,
    "width": 240,
    "height": 140,
    "children": [
      {
        "_id": "img",
        "type": "image",
        "width": "100%",
        "height": "100%",
        "background": "surface"
      },
      {
        "_id": "cap",
        "type": "text",
        "content": "Over the image",
        "color": "#fff",
        "padding": 8
      }
    ]
  }
}
```

## States

Common to every node: `hover` / `press` / `focus` CSS bags, `showWhen` / `hideWhen`, `animate`.

## Stability

This node type is part of the format contract: adding an optional prop is additive; removing the node or narrowing an existing prop is breaking. Prop tables are generated from the schema; this page carries the prose.
