11---
2- title : Banner 组件用法
3- description : ' 如何使用通用的 Banner 组件来创建页面标题区域。 '
2+ title : ' 组件指南: Banner '
3+ description : ' 如何使用通用的 Banner 组件来创建页面标题区域'
44publishDate : 2025-10-17 19:45:00
55slug : yex1
6- tags : ['组件 ', '建站']
6+ tags : ['component ', '建站']
77---
88
99import { MdxRepl , Aside } from ' @/custom/components/user' ;
1010import Banner from ' @/components/banner/Banner.astro' ;
1111import { Icon } from ' @/custom/components/user' ;
1212import bannerImage from ' @/assets/shelf/desk1.png' ;
1313
14- ` Banner ` 是一个通用的页面横幅组件,用于快速创建一个包含左侧内容和右侧图片的标题区域。它通过 Astro 的 ` slot ` (插槽) 特性提供了极高的灵活性。
14+ ` Banner ` 是一个通用的页面横幅组件,用于快速创建一个包含左侧内容和右侧图片的标题区域.
15+
16+ ` Banner ` 组件的核心是它的默认插槽. 您可以在组件标签内放置任何有效的 HTML 或 Astro 组件,它们将被渲染在 Banner 的左侧区域. 这通过 Astro 的 ` slot ` (插槽) 特性提供了极高的灵活性.
1517
1618### 基础用法
1719
18- ` Banner ` 组件接收两个主要属性: ` image ` 和 ` imageAlt ` 。 您需要将想要在左侧显示的任何内容放置在 ` <Banner> ` 和 ` </Banner> ` 标签之间。
20+ ` Banner ` 组件接收两个主要属性: ` image ` 和 ` imageAlt ` . 您需要将想要在左侧显示的任何内容放置在 ` <Banner> ` 和 ` </Banner> ` 标签之间.
1921
2022<MdxRepl >
2123 <Banner image = { bannerImage } imageAlt = " 示例图片" >
@@ -24,7 +26,7 @@ import bannerImage from '@/assets/shelf/desk1.png';
2426 <h2 class = " text-3xl font-bold" >这是主标题</h2 >
2527 </div >
2628 <p class = " border-l-2 border-border pl-3 text-muted-foreground mt-2" >
27- 这是副标题, 您可以在这里写一些描述性文字。
29+ 这是副标题, 您可以在这里写一些描述性文字.
2830 </p >
2931 </Banner >
3032 <Fragment slot = " desc" >
@@ -39,16 +41,16 @@ import bannerImage from '@/assets/shelf/desk1.png';
3941 < h2 class = " text-3xl font-bold" > 这是主标题< / h2>
4042 < / div>
4143 < p class = " border-l-2 border-border pl-3 text-muted-foreground mt-2" >
42- 这是副标题, 您可以在这里写一些描述性文字。
44+ 这是副标题, 您可以在这里写一些描述性文字.
4345 < / p>
4446 < / Banner>
4547 ```
4648 </Fragment >
4749</MdxRepl >
4850
49- ### MDX Syntax Example
51+ ### MDX 用法
5052
51- When using in an ` .mdx ` file, you can write Markdown directly in the slot, like this :
53+ 在 ` .mdx ` 文件中使用时,您可以直接在插槽中编写 Markdown,如下所示 :
5254
5355<MdxRepl prose = { true } >
5456 <Banner image = { bannerImage } imageAlt = " MDX Example Image" >
@@ -69,38 +71,21 @@ When using in an `.mdx` file, you can write Markdown directly in the slot, like
6971 </Fragment >
7072</MdxRepl >
7173
72- ### 组件属性 (Props)
73-
74- | 属性 | 类型 | 是否必需 | 描述 |
75- | ---| ---| ---| ---|
76- | ` image ` | ` ImageMetadata ` | 是 | 用于右侧展示的图片资源, 需要从 ` src ` 目录导入。 |
77- | ` imageAlt ` | ` string ` | 是 | 图片的替代文本。 |
78- | ` class ` | ` string ` | 否 | 为组件根元素添加额外的 CSS 类。 |
79- | ` loading ` | ` 'lazy' \| 'eager' ` | 否 | 图片的加载策略,对于首屏的 Banner,推荐设置为 ` eager ` 。 |
80-
81-
82- <Banner image = { bannerImage } imageAlt = " MDX Example Image" >
83- ## This is a Markdown Title
84- This is a paragraph written in ** Markdown** syntax.
85- </Banner >
86-
87- <Banner image = { bannerImage } imageAlt = " MDX Example Image" >
88- > This is a Markdown Title
89-
90- </Banner >
91-
92- ### 插槽 (Slot)
93-
94- <Aside type = " info" >
95- ` Banner ` 组件的核心是它的默认插槽。您可以在组件标签内放置任何有效的 HTML 或 Astro 组件,它们将被渲染在 Banner 的左侧区域。
96- </Aside >
97-
98- <Aside type = " tip" title = " 在 MDX 中使用" >
99- 正如本页面一样,当您在 ` .mdx ` 文件中使用 ` Banner ` 组件时,可以直接在插槽中编写 Markdown 语法,它会被自动解析。
74+ <Aside type = " tip" title = " 提示" >
75+ 正如本页面一样,当您在 ` .mdx ` 文件中使用 ` Banner ` 组件时,可以直接在插槽中编写 Markdown 语法,它会被自动解析.
10076``` mdx
10177<Banner image = { ... } >
10278 ### 我是一个 Markdown 标题
103- 这是用 ** Markdown** 写的段落。
79+ 这是用 ** Markdown** 写的段落.
10480</Banner >
10581```
106- </Aside >
82+ </Aside >
83+
84+ ### 组件属性 (Props)
85+
86+ | 属性 | 类型 | 是否必需 | 描述 |
87+ | ---| ---| ---| ---|
88+ | ` image ` | ` ImageMetadata ` | 是 | 用于右侧展示的图片资源, 需要从 ` src ` 目录导入. |
89+ | ` imageAlt ` | ` string ` | 是 | 图片的替代文本. |
90+ | ` class ` | ` string ` | 否 | 为组件根元素添加额外的 CSS 类. |
91+ | ` loading ` | ` 'lazy' \| 'eager' ` | 否 | 图片的加载策略,对于首屏的 Banner,推荐设置为 ` eager ` . |
0 commit comments