跳到内容

useScreenSafeArea

分类
导出大小
1.5 kB
最后更改
3 周前

响应式 env(safe-area-inset-*)

image

演示

顶部
底部

用法

为了使页面完全呈现在屏幕中,必须首先在 viewport meta 标签中设置额外的属性 viewport-fit=cover,viewport meta 标签可能如下所示

html
<meta name="viewport" content="initial-scale=1, viewport-fit=cover" />

然后我们可以在组件中使用 useScreenSafeArea,如下所示

ts
import { useScreenSafeArea } from '@vueuse/core'

const {
  top,
  right,
  bottom,
  left,
} = useScreenSafeArea()

有关更多详细信息,您可以参考此文档:为 iPhone X 设计网站

组件用法

此函数还通过 @vueuse/components 包提供了一个无渲染组件版本。 了解更多关于用法的信息

vue
<template>
  <UseScreenSafeArea top right bottom left>
    content
  </UseScreenSafeArea>
</template>

类型声明

typescript
/**
 * Reactive `env(safe-area-inset-*)`
 *
 * @see https://vueuse.org.cn/useScreenSafeArea
 */
export declare function useScreenSafeArea(): {
  top: ShallowRef<string, string>
  right: ShallowRef<string, string>
  bottom: ShallowRef<string, string>
  left: ShallowRef<string, string>
  update: () => void
}

演示文档

贡献者

Anthony Fu
Anthony Fu
Fernando Fernández
vaakian X
Ayaka Rizumu
Jelf

更新日志

v12.4.0 于 2025/1/10
dd316 - feat: 尽可能在任何地方使用被动事件处理程序 (#4477)
v12.0.0-beta.1 于 2024/11/21
0a9ed - feat!: 删除 Vue 2 支持,优化 bundles 并清理 (#4349)

在 MIT 许可证下发布。