# 锚

**Godot 风比例锚点:`{"左": 比, "上": 比, "右": 比, "下": 比}`(0~1,任意子集)——节点按比例钉在父容器槽位内,窗口调大小自动跟随。**

```xuantie
// 贴右上的按钮:窗口多宽都钉在右缘 8px 处
UI.按钮("设置", {
    "宽": 90, "高": 28,
    "锚": {"右": 1, "上": 0}, "偏": {"右": -8, "上": 8},
    "点击": 函() { ... }
})
```

## 逐轴规则(X/Y 各自独立)

- **双锚 = 拉伸**:两侧都设,尺寸随父容器变。状态栏:`"锚": {"左": 0, "右": 1, "下": 1}, "高": 28`
- **单锚 = 定点 + 固有/选项尺寸**:比值 `<0.5` 前向长、`>0.5` 后向长、`=0.5` 居中。居中:`"锚": {"左": 0.5, "上": 0.5}`
- **不写 = 不启用**:维持 Flex/容器原排布,旧代码零影响

```xuantie
// IDE 壳:主区四锚拉伸,偏出顶栏与侧栏的位置
UI.叠([...], {
    "锚": {"左": 0, "上": 0, "右": 1, "下": 1},
    "偏": {"左": 220, "上": 40, "下": -28},
    "底色": UI.色16("#1E222C")
})
```

## 注意

- `叠` 容器内锚定子给满内容区槽位——IDE 壳(顶栏/侧栏/主区/状态栏)直接锚,不用 `绝对` 手算。
- `外边距` 不适用(锚/[偏](偏.md) 已含定位语义);`平移x/平移y` 仍叠加,`动值` 驱动可做面板滑入滑出。
- 单锚轴的尺寸取 `宽`/`高` 选项,缺省回退固有尺寸;锚值暂不支持 `悬浮`/`按下`/`禁用` 状态覆写。

## 相关

[偏](偏.md) · [x](x.md) · [平移x](平移x.md) · [弹性](弹性.md)