MainPRO

一个填充可用视口高度的 main 元素。

用法

Main 组件渲染一个 <main> 元素,与 Header 组件协同工作,创建一个延伸至视口可用高度的全高布局。

Header 组件通过一个 --ui-header-height CSS 变量定义其高度,你可以通过在 CSS 中覆盖它来定制。
:root {
  --ui-header-height: --spacing(16);
}

示例

app.vue

在你的 app.vue 或布局文件中使用 Main 组件

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

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

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

API

属性

属性默认值类型
as

'main'

any

插槽

插槽类型
default

{}

主题

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

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