# page-meta

> 基础库 2.9.0 开始支持，低版本需做[兼容处理](1003706)。

> __微信 Windows 版__：支持
> 
> __微信 Mac 版__：支持
> 
> __微信 鸿蒙 OS 版__：支持

渲染框架支持情况：Skyline （使用最新 [Nightly](/miniprogram/dev/devtools/nightly.html) 工具调试）、WebView

## 功能描述

页面属性配置节点，用于指定页面的一些属性、监听页面事件。只能是页面内的第一个节点。可以配合 [navigation-bar](/miniprogram/dev/component/navigation-bar) 组件一同使用。

通过这个节点可以获得类似于调用 [`wx.setBackgroundTextStyle`](/miniprogram/dev/api/ui/background/wx.setBackgroundTextStyle.md) [`wx.setBackgroundColor`](/miniprogram/dev/api/ui/background/wx.setBackgroundColor.md) 等接口调用的效果。

## 通用属性


```json
[
  {
    "属性": "background-text-style",
    "类型": "string",
    "默认值": "",
    "必填": "否",
    "说明": "下拉背景字体、loading 图的样式，仅支持 \u0000INLINECODE_2\u0000 和 \u0000INLINECODE_3\u0000",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "background-color",
    "类型": "string",
    "默认值": "",
    "必填": "否",
    "说明": "窗口的背景色，必须为十六进制颜色值",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "background-color-top",
    "类型": "string",
    "默认值": "",
    "必填": "否",
    "说明": "顶部窗口的背景色，必须为十六进制颜色值，仅 iOS 支持",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "background-color-bottom",
    "类型": "string",
    "默认值": "",
    "必填": "否",
    "说明": "底部窗口的背景色，必须为十六进制颜色值，仅 iOS 支持",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "root-background-color",
    "类型": "string",
    "默认值": "",
    "必填": "否",
    "说明": "页面内容的背景色，用于页面中的空白部分和页面大小变化 resize 动画期间的临时空闲区域",
    "最低版本": "[2.12.1](1003706)"
  },
  {
    "属性": "page-style",
    "类型": "string",
    "默认值": "\"\"",
    "必填": "否",
    "说明": "页面根节点样式，页面根节点是所有页面节点的祖先节点，相当于 HTML 中的 body 节点",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "page-font-size",
    "类型": "string",
    "默认值": "\"\"",
    "必填": "否",
    "说明": "页面 page 的字体大小，可以设置为 \u0000INLINECODE_4\u0000 ，表示使用当前用户设置的微信字体大小",
    "最低版本": "[2.11.0](1003706)"
  },
  {
    "属性": "root-font-size",
    "类型": "string",
    "默认值": "\"\"",
    "必填": "否",
    "说明": "页面的根字体大小，页面中的所有 rem 单位，将使用这个字体大小作为参考值，即 \u0000INLINECODE_5\u0000 等于这个字体大小；自小程序版本 2.11.0 起，也可以设置为 \u0000INLINECODE_6\u0000",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "page-orientation",
    "类型": "string",
    "默认值": "\"\"",
    "必填": "否",
    "说明": "页面的方向，可为 \u0000INLINECODE_7\u0000 \u0000INLINECODE_8\u0000 或 \u0000INLINECODE_9\u0000",
    "最低版本": "[2.12.0](1003706)"
  },
  {
    "属性": "bind:resize",
    "类型": "eventhandle",
    "默认值": "",
    "必填": "否",
    "说明": "页面尺寸变化时会触发 \u0000INLINECODE_10\u0000 事件， \u0000INLINECODE_11\u0000",
    "最低版本": "[2.9.0](1003706)"
  }
]
```

## WebView 特有属性


```json
[
  {
    "属性": "scroll-top",
    "类型": "string",
    "默认值": "\"\"",
    "必填": "否",
    "说明": "滚动位置，可以使用 px 或者 rpx 为单位，在被设置时，页面会滚动到对应位置",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "scroll-duration",
    "类型": "number",
    "默认值": "300",
    "必填": "否",
    "说明": "滚动动画时长",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "bind:scroll",
    "类型": "eventhandle",
    "默认值": "",
    "必填": "否",
    "说明": "页面滚动时会触发 \u0000INLINECODE_12\u0000 事件， \u0000INLINECODE_13\u0000",
    "最低版本": "[2.9.0](1003706)"
  },
  {
    "属性": "bind:scrolldone",
    "类型": "eventhandle",
    "默认值": "",
    "必填": "否",
    "说明": "如果通过改变 \u0000INLINECODE_14\u0000 属性来使页面滚动，页面滚动结束后会触发 \u0000INLINECODE_15\u0000 事件",
    "最低版本": "[2.9.0](1003706)"
  }
]
```

## 示例代码

[在开发者工具中预览效果](https://developers.weixin.qq.com/s/C0aAxomq7s9n)

```html
<page-meta
  background-text-style="{{bgTextStyle}}"
  background-color="{{bgColor}}"
  background-color-top="{{bgColorTop}}"
  background-color-bottom="{{bgColorBottom}}"
  scroll-top="{{scrollTop}}"
  page-style="color: green"
  root-font-size="16px"
>
  <navigation-bar
    title="{{nbTitle}}"
    loading="{{nbLoading}}"
    front-color="{{nbFrontColor}}"
    background-color="{{nbBackgroundColor}}"
  />
</page-meta>
```

```javascript
Page({
  data: {
    bgTextStyle: 'dark',
    scrollTop: '200rpx',
    bgColor: '#ff0000',
    bgColorTop: '#00ff00',
    bgColorBottom: '#0000ff',
    nbTitle: '标题',
    nbLoading: false,
    nbFrontColor: '#000000',
    nbBackgroundColor: '#ffffff',
  },
})
```
