display
A bordered surface that groups related content, with header, content and footer parts.
npx blankui add cardChoose what you want to hear about.
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ui/card"
<Card>
<CardHeader>
<CardTitle>Notifications</CardTitle>
<CardDescription>Choose what you want to hear about.</CardDescription>
</CardHeader>
<CardContent>
<Stack gap={3}>...</Stack>
</CardContent>
<CardFooter>
<Button>Save</Button>
</CardFooter>
</Card>
<Grid columns={{ base: 1, md: 3 }} gap={6}>
{plans.map((plan) => (
<Card key={plan.id}>
<CardHeader>
<CardTitle>{plan.name}</CardTitle>
<CardDescription>{plan.price}</CardDescription>
</CardHeader>
</Card>
))}
</Grid>
CardTitle renders an h3. Use asChild to pick another heading level: <CardTitle asChild><h2>Billing</h2></CardTitle>.p-* classes.| Avoid | Instead |
|---|---|
| <div className="rounded-lg border p-6 shadow"> | <Card> |
| A Card inside another Card | Use a Stack inside one Card, or separate Cards in a Grid |
| <CardContent className="p-6"> (adding padding) | <CardContent> already has padding |
Install with the shadcn CLI: npx shadcn add https://blank.vageshwar.dev/r/card.json