主内容

GitHub
一个填满可用视口高度的主元素。

用法

主组件与 Header 组件协同工作,共同创建一个高度占满整个视口的全高布局。

主组件使用 --ui-header-height CSS 变量,以正确地位于 Header 组件下方。

示例

app.vue

在您的 app.vue 或布局中使用主组件

app.vue
<template>
  <UApp>
    <UHeader />

    <UMain>
      <NuxtLayout>
        <NuxtPage />
      </NuxtLayout>
    </UMain>

    <UFooter />
  </UApp>
</template>

API

属性

属性默认值类型
as

'div'

any

此组件应渲染为的元素或组件。

插槽

插槽类型
default

{}

主题

app.config.ts
export default defineAppConfig({
  ui: {
    main: {
      base: 'min-h-[calc(100vh-var(--ui-header-height))]'
    }
  }
})
vite.config.ts
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import ui from '@nuxt/ui/vite'

export default defineConfig({
  plugins: [
    vue(),
    ui({
      ui: {
        main: {
          base: 'min-h-[calc(100vh-var(--ui-header-height))]'
        }
      }
    })
  ]
})

更新日志

2a09a— fix: 渲染为 div 而非 main

5cb65— 特性:导入 @nuxt/ui-pro 组件