在社交媒体平台中,卡片是一种常见的信息展示形式,它可以包含多种元素,如标题、描述、图像、按钮等。卡片通常用于展示简短的信息片段,如新闻、文章、产品信息等。
本代码实现了一个基于 Vue.js 的社交媒体卡片,它包含以下基本功能:
卡片的结构使用 Vue.js 的模板语法定义,它包含了标题、描述、标签、按钮等元素。关键代码如下:
<template>
<div class="bg-gray-900 min-h-screen flex flex-col items-center justify-center">
<div class="w-full max-w-md p-4 bg-white rounded-lg shadow-md">
<div class="flex items-center justify-between mb-4">
<h1 class="text-2xl font-bold text-gray-900">Breathing with the body</h1>
<div class="flex items-center">
<a-button type="primary" shape="circle" icon={<MessageOutlined />} />
<a-button type="primary" shape="circle" icon={<PlusOutlined />} />
</div>
</div>
<div class="flex items-center justify-between mb-4">
<div class="flex items-center">
<a-avatar size="large" src="https://source.unsplash.com/random/40x40" />
<div class="ml-4">
<p class="text-gray-900 font-bold">John Doe</p>
<p class="text-gray-600">10 minutes ago</p>
</div>
</div>
<div>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1">Edit</a-menu-item>
<a-menu-item key="2">Delete</a-menu-item>
</a-menu>
</template>
<a-button type="text">
<MoreOutlined />
</a-button>
</a-dropdown>
</div>
</div>
<div class="mb-4">
<p class="text-gray-900">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eget tortor risus. Cras ullamcorper massa sit amet lacus egestas, ac ultrices nisi tincidunt. Nunc accumsan, ipsum sed dignissim feugiat, risus nisl egestas massa, in pulvinar neque leo ac lectus. Fusce aliquam risus sit amet sapien lobortis, eu hendrerit nibh ultricies. Nam tempor tristique lectus sit amet ullamcorper.
</p>
</div>
<div class="flex items-center justify-between mb-4">
<div class="flex items-center">
<a-tag color="blue">Meditation</a-tag>
<a-tag color="green">Relaxation</a-tag>
<a-tag color="orange">Yoga</a-tag>
</div>
<div>
<a-button type="primary">Start</a-button>
</div>
</div>
<div class="flex items-center justify-between mb-4">
<div class="flex items-center">
<a-rate allow-half value="2.5" />
<span class="ml-2 text-gray-600">2.5</span>
</div>
<div>
<a-button type="link">10 comments</a-button>
</div>
</div>
<div class="mb-4">
<a-comment>
<a-comment-avatar src="https://source.unsplash.com/random/40x40" />
<div class="flex flex-col">
<div class="flex items-center justify-between">
<div class="flex items-center">
<p class="text-gray-900 font-bold">John Doe</p>
<p class="text-gray-600 ml-2">10 minutes ago</p>
</div>
<div>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1">Edit</a-menu-item>
<a-menu-item key="2">Delete</a-menu-item>
</a-menu>
</template>
<a-button type="text">
<MoreOutlined />
</a-button>
</a-dropdown>
</div>
</div>
<div class="mt-2">
<p class="text-gray-600">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eget tortor risus. Cras ullamcorper massa sit amet lacus egestas, ac ultrices nisi tincidunt. Nunc accumsan, ipsum sed dignissim feugiat, risus nisl egestas massa, in pulvinar neque leo ac lectus. Fusce aliquam risus sit amet sapien lobortis, eu hendrerit nibh ultricies. Nam tempor tristique lectus sit amet ullamcorper.
</p>
</div>
</div>
</a-comment>
</div>
<div class="mb-4">
<a-comment>
<a-comment-avatar src="https://source.unsplash.com/random/40x40" />
<div class="flex flex-col">
<div class="flex items-center justify-between">
<div class="flex items-center">
<p class="text-gray-900 font-bold">Jane Doe</p>
<p class="text-gray-600 ml-2">5 minutes ago</p>
</div>
<div>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1">Edit</a-menu-item>
<a-menu-item key="2">Delete</a-menu-item>
</a-menu>
</template>
<a-button type="text">
<MoreOutlined />
</a-button>
</a-dropdown>
</div>
</div>
<div class="mt-2">
<p class="text-gray-600">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin eget tortor risus. Cras ullamcorper massa sit amet lacus egestas, ac ultrices nisi tincidunt. Nunc accumsan, ipsum sed dignissim feugiat, risus nisl egestas massa, in pulvinar neque leo ac lectus. Fusce aliquam risus sit amet sapien lobortis, eu hendrerit nibh ultricies. Nam tempor tristique lectus sit amet ullamcorper.
</p>
</div>
</div>
</a-comment>
</div>
<div class="mb-4">
<a-comment>
<a-comment-avatar src="https://source.unsplash.com/random/40x40" />
<div class="flex flex-col">
<div class="flex items-center justify-between">
<div class="flex items-center">
<p class="text-gray-900 font-bold">John Smith</p>
<p class="text-gray-600 ml-2">2 minutes ago</p>
</div>
<div>
<a-dropdown>
<template #overlay>
<a-menu>
<a-menu-item key="1">Edit</a-menu-item>
<a-menu-item key="2">Delete</a-menu-item>
</a-menu>
</template>
<a-button type="text">
<MoreOutlined />
</a-button>
</a-dropdown>
</div>
</div>