Nuxt UI v3-alpha 已发布!

试用

落地页英雄

为您的着陆页提供一个响应式英雄。

用法

LandingHero 组件会将您的内容包装在 容器 中,但包装器占据屏幕的全部宽度,因此您可以轻松更改背景。

使用 titledescription 道具来定制英雄的内容。

将您的愿景变为现实

与我们一起见证您的梦想成真。
<template>
  <ULandingHero
    title="Turn Your Vision into Reality"
    description="Watch your dreams materialize before your eyes with us."
  />
</template>

使用 links 道具在描述下方添加一些 按钮

将您的愿景变为现实

与我们一起见证您的梦想成真。
<template>
  <ULandingHero
    title="Turn Your Vision into Reality"
    description="Watch your dreams materialize before your eyes with us."
    :links="[{ label: 'Get Started', icon: 'i-heroicons-rocket-launch', size: 'lg' }, { label: 'Learn more', trailing-icon: 'i-heroicons-arrow-small-right', color: 'gray', size: 'lg' }]"
  />
</template>

您可以在默认插槽中添加任何您想要的内容,例如使用 MDC 组件(使用 @nuxt/content 时)添加图像或代码块。

您可以将 orientation 道具的值从 vertical 更改为 horizontal,以将插槽放置在英雄的右侧(这将在全屏显示中呈现得更好)。

您可以使用 #headline 插槽在标题上方添加 徽章按钮 或任何您想要的内容。

超级增强的 GitHub 体验

在同一个地方与您的团队实时协作开源和私有代码库。处理 GitHub 问题和通知从未如此有趣。
<template>
  <ULandingHero
    title="Supercharged GitHub experience"
    description="Work in real-time with your team on open-source and private repositories, all in one place. Working on GitHub issues and notifications has never been that fun."
    orientation="vertical"
    :links="[{ label: 'Continue with GitHub', icon: 'i-simple-icons-github', color: 'gray', size: 'lg' }]"
  >
    <template #headline>
      <UButton
        color="gray"
        to="https://volta.net/changelog"
        label="See what's new in v1.17.0"
        trailing-icon="i-heroicons-arrow-right"
        size="xs"
        class="rounded-full"
      />
    </template>
    <template #default>
      <img
        src="https://picsum.photos/640/360"
        class="w-full rounded-md shadow-xl ring-1 ring-gray-300 dark:ring-gray-700"
      />
    </template>
  </ULandingHero>
</template>

您也可以使用 #title#description#links 插槽来定制英雄的内容。当使用 @nuxt/content 时,这在您的内容具有 HTML 时会非常有用。

content/index.yml
navigation: false
hero:
  title: The <span class="text-primary">Building Blocks</span> for<br>Modern Web Apps
  description: 'Nuxt UI Pro is a collection of premium Vue components built on top of Nuxt UI to create beautiful & responsive Nuxt applications in minutes.<br>It includes all primitives to build landing pages, documentation, blogs, changelog, dashboards or entire SaaS products.'
  links:
    - label: Get Started
      to: /pro/getting-starated
      size: lg
      icon: i-heroicons-rocket-launch
    - label: Buy now
      to: /pro/pricing
      color: gray
      icon: i-heroicons-ticket
      size: lg
我们在这里使用 .yml 文件作为示例,但您可以使用 @nuxt/content 支持的任何格式,如 .md.json
pages/index.vue
<script setup lang="ts">
const { data: page } = await useAsyncData('index', () => queryContent('/').findOne())
</script>

<template>
  <ULandingHero :links="page.hero.links">
    <template #title>
      <span v-html="page.hero.title" />
    </template>

    <template #description>
      <span v-html="page.hero.description" />
    </template>
  </ULandingHero>
</template>

您可以使用 #top#bottom 插槽在容器的上方和下方添加内容,这在添加一些绝对定位的 svg 时很有用,例如。

插槽

顶部
{}
标题
{}
标题
{}
描述
{}
链接
{}
默认
{}
底部
{}

道具

标题
字符串
未定义
描述
字符串
未定义
方向
"vertical" | "horizontal"
"vertical"
ui
任何
{}
链接
(Button & { click?: (...args: any[]) => void; })[]
[]

配置

{
  wrapper: 'py-24 sm:py-32 md:py-40 relative',
  container: 'gap-16 sm:gap-y-24 flex flex-col',
  base: 'text-center',
  headline: 'mb-10',
  title: 'text-5xl font-bold tracking-tight text-gray-900 dark:text-white sm:text-7xl',
  description: 'mt-6 text-lg tracking-tight text-gray-600 dark:text-gray-300',
  links: 'mt-10 flex flex-wrap justify-center gap-x-6 gap-y-3'
}