【VUE3】【Naive UI】<NCard> 标签

【Vue3】【Naive UI】 标签

      • [title 属性](#title 属性)
      • [bordered 属性](#bordered 属性)
      • [header-style 和 body-style 属性](#header-style 和 body-style 属性)
      • [footer 属性](#footer 属性)
      • [actions 属性](#actions 属性)
      • [hoverable 属性](#hoverable 属性)
      • [loading 属性](#loading 属性)
      • [size 属性](#size 属性)
      • [type 属性](#type 属性)
      • [cover 和 avatar 属性](#cover 和 avatar 属性)
      • [description 属性](#description 属性)
      • [style 属性](#style 属性)

【VUE3】【Naive UI】<NCard> 标签
【VUE3】【Naive UI】<n-button> 标签
【VUE3】【Naive UI】<a> 标签
【VUE3】【Naive UI】<NDropdown> 标签

在 Naive UI 中,<NCard> 是一个非常实用的组件,它用于创建卡片式的布局块。

卡片通常用来展示内容集合,可以包含标题、正文、操作按钮等元素。

卡片是许多现代网站和应用中常见的UI模式,因为它们能够以清晰、组织良好的方式呈现信息。

<NCard> 提供了一些属性来自定义其外观和行为,以下是一些常用的属性:

  • title:卡片的标题。
  • bordered:是否显示边框,默认为 true。
  • header-style 和 body-style:分别用于自定义头部和主体的样式。
  • footer:卡片底部的内容。
  • actions:卡片右上角的操作区。

示例:带动作按钮的卡片

javascript 复制代码
<template>
  <n-card
    title="我的卡片"
    :bordered="true"
    :actions="[
      { text: '详情', onClick: () => {} },
      { text: '编辑', onClick: () => {} }
    ]">
    <p>这是卡片的内容部分。</p>
    <n-button type="primary">点击我</n-button>
  </n-card>
</template>

<script setup>
import { NCard, NButton } from 'naive-ui';
</script>

title 属性

title 属性用于设置卡片的标题。可以是一个简单的字符串或是一个模板引用(TemplateRef)。

javascript 复制代码
<template>
  <n-card title="我的旅行相册">
    <p>这里展示了我的旅行照片。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

bordered 属性

bordered 属性控制卡片是否显示边框。默认情况下是 true,表示有边框;如果设置为 false,则不显示边框。

javascript 复制代码
<template>
  <n-card bordered :title="'无边框卡片'" :bordered="false">
    <p>这是一个没有边框的卡片。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

header-style 和 body-style 属性

这两个属性允许你自定义卡片头部和主体部分的样式。

javascript 复制代码
<template>
  <n-card
    title="定制样式"
    :header-style="{ backgroundColor: '#f5f5f5', padding: '16px' }"
    :body-style="{ padding: '24px' }">
    <p>这个卡片的头部和主体都有了自定义的样式。</p>
  </n-card>
</template>
<script setup>
import { NCard } from 'naive-ui';
</script>

footer 属性用于在卡片底部添加内容,可以是文本或模板引用。

javascript 复制代码
<template>
  <n-card
    title="带有底部内容的卡片"
    footer="这是卡片的底部信息">
    <p>这里是卡片的主要内容。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

actions 属性

actions 是一个数组,用于在卡片右上角添加操作按钮。

每个操作项都是一个对象,包含 text 和 onClick 函数。

javascript 复制代码
<template>
  <n-card
    title="带有操作按钮的卡片"
    :actions="[
      { text: '查看详情', onClick: () => console.log('查看详情') },
      { text: '编辑', onClick: () => console.log('编辑') }
    ]"
  >
    <p>点击右上角的操作按钮来执行相应的动作。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

hoverable 属性

当设置 hoverable 为 true 时,鼠标悬停在卡片上会有一个浮起的效果。

javascript 复制代码
<template>
  <n-card
    title="可悬停效果的卡片"
    :hoverable="true"
  >
    <p>将鼠标悬停在这张卡片上试试看。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

loading 属性

loading 属性用于指示卡片内容是否正在加载中。如果设置为 true,卡片会显示一个加载占位符。

javascript 复制代码
<template>
  <n-card
    title="加载中的卡片"
    :loading="isLoading"
  >
    <p v-if="!isLoading">卡片内容已加载完毕。</p>
  </n-card>
</template>

<script setup>
import { ref, onMounted } from 'vue';
import { NCard } from 'naive-ui';

const isLoading = ref(true);

onMounted(() => {
  setTimeout(() => {
    isLoading.value = false;
  }, 2000); // 模拟2秒后加载完成
});
</script>

size 属性

size 属性用于设置卡片的大小,可选值包括 'default' 和 'small'。

javascript 复制代码
<template>
  <n-card
    title="小尺寸卡片"
    size="small"
  >
    <p>这是一张小尺寸的卡片。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

type 属性

type 属性用于指定卡片类型,例如设置为 'inner' 可以让卡片看起来像是内嵌式的。

javascript 复制代码
<template>
  <n-card
    title="内嵌式卡片"
    type="inner"
  >
    <p>这张卡片看起来像是内嵌在页面中的。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

cover 和 avatar 属性

cover 和 avatar 属性允许你在卡片顶部添加封面图片或者头像。

javascript 复制代码
<template>
  <n-card
    title="带有封面和头像的卡片"
    :cover="() => <img src='https://example.com/cover.jpg' alt='Cover' />"
    :avatar="() => <img src='https://example.com/avatar.jpg' alt='Avatar' />"
  >
    <p>这张卡片同时展示了封面图片和头像。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

description 属性

description 属性用来添加对卡片内容的描述性文字。

javascript 复制代码
<template>
  <n-card
    title="带描述的卡片"
    :description="'这是一张带有描述文字的卡片。'"
  >
    <p>卡片的内容在此处。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

style 属性

style 是一个非常通用的属性,几乎所有的 HTML 和 Vue 组件都可以使用它来直接设置内联样式。

在 Naive UI 的 组件中,可以使用 style 属性来为整个卡片设置 CSS 样式。

下面是一个具体的例子,展示了如何使用 style 属性来定制 组件的外观:

javascript 复制代码
<template>
  <n-card
    title="自定义样式的卡片"
    :style="{ 
      backgroundColor: '#f0f8ff', 
      boxShadow: '0 4px 6px rgba(0, 0, 0, 0.1)', 
      borderRadius: '12px',
      maxWidth: '300px',
      margin: 'auto'
    }"
  >
    <p>这张卡片使用了自定义的背景颜色、阴影、圆角等样式。</p>
  </n-card>
</template>

<script setup>
import { NCard } from 'naive-ui';
</script>

在这个例子中,我们通过 :style 绑定了一个对象,该对象包含了多个 CSS 属性,

如 backgroundColor(背景颜色)、boxShadow(阴影)、borderRadius(边框圆角)以及 maxWidth 和 margin 来控制卡片的最大宽度和居中显示。

这样就可以根据需要调整卡片的整体视觉效果。

相关推荐
中东大鹅31 分钟前
【JavaScript】下拉框的实现
前端·javascript·css·html
Domain-zhuo32 分钟前
什么是前端构建工具?比如(Vue2的webpack,Vue3的Vite)
前端·javascript·vue.js·webpack·node.js·vue·es6
yanmengying1 小时前
VUE脚手架练习
前端·javascript·vue.js
APItesterCris1 小时前
对于大规模的淘宝API接口数据,有什么高效的处理方法?
linux·服务器·前端·数据库·windows
突然暴富的我1 小时前
html button 按钮单选且 高亮
前端·javascript·html
用户49430538293802 小时前
一种简单粗暴的大屏自适应方案,原理及案例
前端
fury_1232 小时前
怎么获取键值对的键的数值?
java·前端·数据库
午后书香2 小时前
看两道关于异步的字节面试题...
前端·javascript·面试
用户2404817096212 小时前
我来助你:Coze帮你零代码生成智能体
前端·人工智能·coze
是程序喵呀2 小时前
CSS 定位
前端·css·html