书架还是空的
找到喜欢的作品之后,它会出现在这里。
import { BookOpen } from 'lucide-react'
import { Button, Card, Center, Heading, Stack, Text } from '@hina-ui/react'
export default function Demo() {
return (
<Card className="w-full max-w-md">
<Center className="h-56">
<Stack gap="sm" align="center">
<Center className="bg-inset text-muted size-12 rounded-full">
<BookOpen className="size-6" />
</Center>
<Heading level={3} size="md">
书架还是空的
</Heading>
<Text tone="muted" size="sm">
找到喜欢的作品之后,它会出现在这里。
</Text>
<Button size="sm" variant="soft" tone="neutral">
去逛逛
</Button>
</Stack>
</Center>
</Card>
)
}
tsx
用法
import { Center } from '@hina-ui/react'
ts
Center 是一个横纵都居中的 flex 容器。它不设定高度,纵向居中要看容器自身的高度,因此通常配合 h-* 或者 min-h-* 使用。
居中
import { Card, Center } from '@hina-ui/react'
export default function Demo() {
return (
<Center className="bg-inset h-32 w-full max-w-sm rounded-md">
<Card className="grid size-16 place-items-center" padded={false}>
居中
</Card>
</Center>
)
}
tsx
示例
行内
inline 换成 inline-flex,让容器留在文字行里,用于把图标与文字对齐。
这段话中间嵌着一个
,图标与文字在同一行里对齐。import { ExternalLink } from 'lucide-react'
import { Center, Link, Text } from '@hina-ui/react'
export default function Demo() {
return (
<Text className="max-w-md">
这段话中间嵌着一个{' '}
<Center inline className="gap-1">
<Link href="#">外部链接</Link>
<ExternalLink className="size-3.5" />
</Center>{' '}
,图标与文字在同一行里对齐。
</Text>
)
}
tsx
API
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
inline | boolean | false | 是否为行内容器 |
as | string | 'div' | 渲染的标签 |
className | string | — | 追加至容器的类名 |
| 属性 | 说明 |
|---|---|
children | 子元素 |