散文
用于样式化远程 HTML 内容
标题 1
标题 2
标题 3
标题 4
标题 4 testing
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at dolor nec ex rutrum semper. Praesent ultricies purus eget lectus tristique egestas ac in lacus. Nulla eleifend lorem risus, sit amet dictum nisi gravida eget. Suspendisse odio sem, scelerisque congue luctus nec, scelerisque ultrices orci. Praesent tincidunt, risus ut commodo cursus, ligula orci tristique justo, vitae sollicitudin lacus risus dictum orci. 按 Ctrl + C 复制
Vivamus vel enim at lorem ultricies faucibus. Cras vitae ipsum ut quam varius dignissim a ac tellus. Aliquam maximus mauris eget tincidunt interdum. Fusce vitae massa non risus congue tincidunt. Pellentesque maximus elit quis eros lobortis dictum.
Fusce placerat ipsum vel sollicitudin imperdiet. Morbi vulputate non diam at consequat. Donec vitae sem eu arcu auctor scelerisque vel in turpis. Pellentesque dapibus justo dui, quis egestas sapien porttitor in.
import { Prose } from "@/components/ui/prose"
// Used for syntax highlighting
const html = String.raw
const content = html`
<h1>Title Heading 1</h1>
<h2>Title Heading 2</h2>
<h3>Title Heading 3</h3>
<h4>Title Heading 4</h4>
<h4>Title Heading 4 <code>testing</code></h4>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at dolor nec
ex rutrum semper. Praesent ultricies purus eget lectus tristique egestas ac
in lacus. Nulla eleifend lorem risus, sit amet dictum nisi gravida eget.
Suspendisse odio sem, scelerisque congue luctus nec, scelerisque ultrices
orci. Praesent tincidunt, risus ut commodo cursus, ligula orci tristique
justo, vitae sollicitudin lacus risus dictum orci. Press <kbd>Ctrl</kbd> +
<kbd>C</kbd> to copy
</p>
<p>
Vivamus vel enim at lorem ultricies faucibus. Cras vitae ipsum ut quam
varius dignissim a ac tellus. Aliquam maximus mauris eget tincidunt
interdum. Fusce vitae massa non risus congue tincidunt. Pellentesque maximus
elit quis eros lobortis dictum.
</p>
<hr />
<p>
Fusce placerat ipsum vel sollicitudin imperdiet. Morbi vulputate non diam at
consequat. Donec vitae sem eu arcu auctor scelerisque vel in turpis.
Pellentesque dapibus justo dui, quis egestas sapien porttitor in.
</p>
`
const Demo = () => {
return <Prose dangerouslySetInnerHTML={{ __html: content }} />
}
设置
如果您还没有该代码片段,请运行以下命令添加prose
片段
npx @chakra-ui/cli snippet add prose
用法
import { Prose } from "@/components/ui/prose"
<Prose>
<div dangerouslySetInnerHTML={{ __html: "..." }} />
</Prose>
示例
尺寸
使用 size
属性更改 Prose
组件的尺寸
尺寸md
标题 1
标题 2
标题 3
标题 4
标题 4 testing
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at dolor nec ex rutrum semper. Praesent ultricies purus eget lectus tristique egestas ac in lacus. Nulla eleifend lorem risus, sit amet dictum nisi gravida eget. Suspendisse odio sem, scelerisque congue luctus nec, scelerisque ultrices orci. Praesent tincidunt, risus ut commodo cursus, ligula orci tristique justo, vitae sollicitudin lacus risus dictum orci. 按 Ctrl +C 复制
尺寸lg
标题 1
标题 2
标题 3
标题 4
标题 4 testing
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi at dolor nec ex rutrum semper. Praesent ultricies purus eget lectus tristique egestas ac in lacus. Nulla eleifend lorem risus, sit amet dictum nisi gravida eget. Suspendisse odio sem, scelerisque congue luctus nec, scelerisque ultrices orci. Praesent tincidunt, risus ut commodo cursus, ligula orci tristique justo, vitae sollicitudin lacus risus dictum orci. 按 Ctrl +C 复制
import { For, Stack, Text } from "@chakra-ui/react"
import { Prose } from "@/components/ui/prose"
const Demo = () => {
return (
<Stack gap="10">
<For each={["md", "lg"]}>
{(size) => (
<Stack key={size}>
<Text>size: {size}</Text>
<Prose size={size}>
<h1>Title Heading 1</h1>
<h2>Title Heading 2</h2>
<h3>Title Heading 3</h3>
<h4>Title Heading 4</h4>
<h4>
Title Heading 4 <code>testing</code>
</h4>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
at dolor nec ex rutrum semper. Praesent ultricies purus eget
lectus tristique egestas ac in lacus. Nulla eleifend lorem
risus, sit amet dictum nisi gravida eget. Suspendisse odio sem,
scelerisque congue luctus nec, scelerisque ultrices orci.
Praesent tincidunt, risus ut commodo cursus, ligula orci
tristique justo, vitae sollicitudin lacus risus dictum orci.
Press <kbd>Ctrl</kbd> +<kbd>C</kbd> to copy
</p>
</Prose>
</Stack>
)}
</For>
</Stack>
)
}
引用
Blockquote 元素样式与 Blockquote
组件的设计语言匹配。
引用块
这是一个很好看的引用块!
并且它可以跨越多行
Fusce placerat ipsum vel sollicitudin imperdiet. Morbi vulputate non diam at consequat. Donec vitae sem eu arcu auctor scelerisque vel in turpis. Pellentesque dapibus justo dui, quis egestas sapien porttitor in.
此外,还支持 strong、b、em!但是,让我们展示一些代码!
import { Prose } from "@/components/ui/prose"
// Used for syntax highlighting
const html = String.raw
const content = html`
<h3>Blockquotes</h3>
<blockquote>This is a good looking blockquote!</blockquote>
<p>And it can span into multiple lines:</p>
<blockquote>
Fusce placerat ipsum vel sollicitudin imperdiet. Morbi vulputate non diam at
consequat. Donec vitae sem eu arcu auctor scelerisque vel in turpis.
Pellentesque dapibus justo dui, quis egestas sapien porttitor in.
</blockquote>
<p>
There's also <strong>strong</strong>, <b>b</b>, <em>em</em> support as
well! But, let's display some code!
</p>
`
const Demo = () => {
return <Prose dangerouslySetInnerHTML={{ __html: content }} />
}
列表
List 元素样式与 List
组件的设计语言匹配。
列表
让我们看看一些无序列表。要购买的物品
- 牛奶
- 鸡蛋
- 面包
- Chakra UI Pro 许可证
以及一些有序列表。待办事项
- 支付账单
- 遛狗
- 倒垃圾
import { Prose } from "@/components/ui/prose"
// Used for syntax highlighting
const html = String.raw
const content = html`
<h3>Lists</h3>
<p>Let's look at some unordered lists. Things to buy:</p>
<ul>
<li>Milk</li>
<li>Eggs</li>
<li>Bread</li>
<li>Chakra UI Pro license</li>
</ul>
<p>And some ordered lists. Things to do:</p>
<ol>
<li>Pay the bills</li>
<li>Walk the dog</li>
<li>Take out trash</li>
</ol>
`
const Demo = () => {
return <Prose dangerouslySetInnerHTML={{ __html: content }} />
}
React Markdown
这是一个使用 react-markdown
库渲染 Markdown 内容的示例。
import { Prose } from "@/components/ui/prose"
import Markdown from "react-markdown"
const Demo = () => {
return (
<Prose mx="auto">
<Markdown>
{`
## Heading
Based on your Chakra package. So [click here](https://chakra-ui.com.cn) to confirm your plan.
- first item
- second item
- second item
- second item
[title](https://chakra-ui.com.cn)
`}
</Markdown>
</Prose>
)
}
表格
表格元素样式与 Table
组件的设计语言匹配。
表格
姓名 | 角色 | GitHub 个人资料 |
---|---|---|
Segun | 创建者 | segunadebayo |
Chris | Ark Wizard | grizzlycodes |
Abraham | 麻烦制造者 | anubra266 |
Esther | 开发者倡导者 | estheragbaje |
import { Prose } from "@/components/ui/prose"
// Used for syntax highlighting
const html = String.raw
const content = html`
<h3>Tables</h3>
<table>
<thead>
<tr>
<th>Name</th>
<th>Role</th>
<th>GitHub Profile</th>
</tr>
</thead>
<tbody>
<tr>
<td>Segun</td>
<td>Creator</td>
<td>segunadebayo</td>
</tr>
<tr>
<td>Chris</td>
<td>Ark Wizard</td>
<td>grizzlycodes</td>
</tr>
<tr>
<td>Abraham</td>
<td>Trouble maker</td>
<td>anubra266</td>
</tr>
<tr>
<td>Esther</td>
<td>Developer Advocate</td>
<td>estheragbaje</td>
</tr>
</tbody>
</table>
`
const Demo = () => {
return <Prose dangerouslySetInnerHTML={{ __html: content }} />
}